前言
之前我将对象转化为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' }
尾言
如果觉得文章对你有帮助的话,欢迎点赞收藏哦,有什么错误或者意见建议也可以留言,感谢~