node将对象转化为query的实现方法

前言

之前我将对象转化为query会考虑使用querystring第三方库等,最近才发现nodejs存在内置对象URLSearchParams、URL可以直接使用,不需要额外引入其他依赖。

本文介绍一下比较简单的对象与query串互相转换的方法。

对象转query串

const params = {
    name: "luna",
    age: "18",
    sex: "female",
};

const queryString = new URLSearchParams(Object.entries(params)).toString()

console.log(queryString) // name=luna&age=18&sex=female

const url = `http://xxx.xx.x.xx.com/getUser?${queryString}`

console.log(url) // http://xxx.xx.x.xx.com/getUser?name=luna&age=18&sex=female

url获取query并转成对象

第一种

const url = 'http://xxx.xx.x.xx.com/getUser?name=luna&age=18&sex=femal'

// URL对象的searchParams方法可以得到一个对应的URLSearchParams对象
const queryString = new URL(url).searchParams 

let queryObject = {}

for (let [key, value] of queryString.entries()) {
    queryObject[key] = value
}

console.log(queryObject) // { name: 'luna', age: '18', sex: 'femal' }

第二种

const http=require("http")
const url=require("url");
 
const server=http.createServer((req,res)=>{
    //获取请求的url
    const reqUrl=req.url
    //第一种方式  加true 转为对象
    console.log("姓名:"+url.parse(reqUrl,true).query.name,"年纪:"+url.parse(reqUrl,true).query.age)
    res.end()
})
server.listen(8080)

到此这篇关于node将对象转化为query的实现方法的文章就介绍到这了,更多相关node 对象转化为query内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(node将对象转化为query的实现方法)