简体   繁体   中英

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:

    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

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());

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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