nodejs qs querystring 解析包简单说明

nodejs qs 包还是很方便的,提供了方便的querystring 转换以及解析能力,可以实现一些比较有意思的querystring 格式处理

这样我们的querystring 就不是简单的一长串字符串了

一个有意思的格式

在进行get 传递参数的时候,查询字符串还是比较重要的,比如阿里云使用到了如下格式,对于PipCode 使用了类似索引模式,按照传统解析处理是比较费事的

BillingCycle=2025-04&StatisticItem=DEFAULT_CHARGE_ITEM&PipCode[filterMode]=IN&PipCode[values]=cdt&StatisticCycle=MONTHLY

qs 参考使用

  • 解析处理
const qs = require("qs")

const user = {
    person: {
        name:"dalong",
        age:333
    }
}

const  encodedValues = qs.stringify(user,{encodeValuesOnly:true, indices:true});

console.log(encodedValues)

const parseQuery = qs.parse(encodedValues);

console.log(parseQuery.person?.version)
  • express 集成
const express = require("express")
const qs = require('qs');

const app = express()

app.set('query parser', str => qs.parse(str));

app.get('/demo',async (req, res) => {
    let info = req.query
    res.json(info)
})

app.listen(3000, (err) => {
    if(err) {
        console.log("Error in starting server", err)
        return
    }
    console.log("Server is running on port 3000")
})

说明

以上只是一个简单记录,实际上用好查询字符串可以方便不少http 处理

参考资料

https://www.npmjs.com/package/qs

posted on 2025-06-26 08:00  荣锋亮  阅读(46)  评论(0)    收藏  举报

导航