美文网首页
querystring模块

querystring模块

作者: 静昕妈妈芦培培 | 来源:发表于2021-03-01 20:49 被阅读0次

querystring.parse() 方法将 URL 查询字符串 str 解析为键值对的集合。
querystring.stringify() 方法通过遍历对象的自身属性从给定的 obj 生成 URL 查询字符串。

const qs = require('querystring')

let queryStr1 = 'name=lupeipei&age=18&sex=1'
let queryStr2 = 'name:lupeipei;age:18;sex:1'
let queryObj1 = {
    name: 'lupeipei',
    age: 18,
    sex:1
}
let queryObj2 = {
    name: '芦培培',
    age: 18,
    sex:1
}


//querystring.parse(str[, sep[, eq[, options]]])
//querystring.parse() 方法将 URL 查询字符串 str 解析为键值对的集合。
console.log(qs.parse(queryStr1))
console.log(qs.parse(queryStr2, ';', ':'))

//querystring.stringify(obj[, sep[, eq[, options]]])
//querystring.stringify() 方法通过遍历对象的自身属性从给定的 obj 生成 URL 查询字符串。
console.log(qs.stringify(queryObj1))
console.log(qs.stringify(queryObj1, ';', ':'))

//如果对象的属性值有汉字,使用querystring.stringify转化为字符串时,会对汉子进行百分比编码,
// 默认使用的是querystring.escape方法
//qs.escape将查询字符串中不安全的 URL 字符转换为百分比编码
let queryStr3 = qs.stringify(queryObj2, null, null, {
    encodeURIComponent(string) {
        return qs.escape(string)
    }
})
console.log(queryStr3)


//当使用querystring.parse把含有百分比编码的字符串转换为对象时,
// 默认会使用querystring.unescape方法对字符串中的百分比编码字符进行解码。
//querystring.unescape() 方法在给定的 str 上执行 URL 百分比编码字符的解码。
let queryObj3 = qs.parse(queryStr3, null, null, {
    decodeURIComponent(string) {
        return qs.unescape(string)
    }
})
console.log(queryObj3)

执行结果:


image.png

相关文章

网友评论

      本文标题:querystring模块

      本文链接:https://www.haomeiwen.com/subject/quqzfltx.html