简体   繁体   English

如何将 javascript obj 转换为带有嵌套对象的 URL 参数?

[英]How to convert javascript obj into URL parameters with nested object in it?

I have a react app that handles routing in the application.我有一个反应应用程序来处理应用程序中的路由。 I am getting json object from db with parameters that will look like this:我从 db 获取 json 对象,其参数如下所示:

    let paramsObj = {
        state: {
            Corp: "CorpCode",
            Location: "LocationCode",
            IsCorp: false
        }
    };

How to convert paramsObj and encode it to URL parameters so the final string would look like this?state=%7B%20Corp%3A%20%22CorpCode%22%2C%20Location%3A%20%22LocationCode%22%2C%20IsCorp%3A%20false%20%7D如何转换 paramsObj 并将其编码为 URL 参数,使最终的字符串看起来像这样?state=%7B%20Corp%3A%20%22CorpCode%22%2C%20Location%3A%20%22LocationCode%22%2C%20IsCorp% 3A%20错误%20%7D

let paramsObj = {
    state: {
        Corp: 'CorpCode',
        Location: 'LocationCode',
        IsCorp: false,
    },
};

const urlSearchParams = Object.keys(paramsObj).reduce((output, key) => {
    const value = paramsObj[key];
    const valueString = JSON.stringify(value);
    output.append(key, valueString);
    return output;
}, new URLSearchParams());

console.log(urlSearchParams.toString());

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM