nodejs里面的百分号解码之URLSearchParams

问题

需要对请求参数解码,并转化成对象。

解决

使用URLSearchParams进行对象状态,类似如下代码:

javascript 复制代码
const paramsString1 = "http://example.com/search?query=%40";
console.log(searchParams1.get("http://example.com/search?query")); // "@"(等价于 decodeURIComponent('%40'))

这就不再需要用decodeURIComponent来解码百分号编码了。

具体转对象实现:

js 复制代码
export const convertStringToObject = (convertString) => {
    const params = new URLSearchParams(convertString);
    const obj = {};

    for (const [key, value] of params.entries()) {
        obj[key] = value;
    }

    return obj;
};

参考

相关推荐
会跑的葫芦怪5 小时前
若依Vue 项目多子路径配置
前端·javascript·vue.js
兩尛5 小时前
c++知识点2
开发语言·c++
fengfuyao9855 小时前
海浪PM谱及波形的Matlab仿真实现
开发语言·matlab
xiaoye-duck6 小时前
C++ string 底层原理深度解析 + 模拟实现(下)——面试 / 开发都适用
开发语言·c++·stl
xiaoqi9226 小时前
React Native鸿蒙跨平台如何进行狗狗领养中心,实现基于唯一标识的事件透传方式是移动端列表开发的通用规范
javascript·react native·react.js·ecmascript·harmonyos
jin1233226 小时前
React Native鸿蒙跨平台剧本杀组队消息与快捷入口组件,包含消息列表展示、快捷入口管理、快捷操作触发和消息详情预览四大核心功能
javascript·react native·react.js·ecmascript·harmonyos
Hx_Ma166 小时前
SpringMVC框架提供的转发和重定向
java·开发语言·servlet
期待のcode7 小时前
原子操作类LongAdder
java·开发语言
烬头88218 小时前
React Native鸿蒙跨平台实现二维码联系人APP(QRCodeContactApp)
javascript·react native·react.js·ecmascript·harmonyos
pas1368 小时前
40-mini-vue 实现三种联合类型
前端·javascript·vue.js