node将对象转化为query的实现方法
在下月亮有何贵干 人气:0前言
之前我将对象转化为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)
加载全部内容