正常情况下,url只能传递字符串,没法传递对象,但实际上我们经常会遇到url需要携带对象的情况。最近发现一个非常方便的解决办法,发出来供大家参考。
let objDemo = {
name: "zdd",
age: 12,
content: "abc"
};
let jsonObj = JSON.stringify(objDemo);
jsonObj = encodeURI(jsonObj);
let url = "http://localhost:8080/demo?id=" + jsonObj;
console.log(url);
jsonObj = decodeURI(jsonObj);
jsonObj = JSON.parse(jsonObj);
console.log(jsonObj);
JSON.stringify(objDemo)将对象转换为 JSON 字符串。
encodeURI() 函数可把字符串作为 URI 进行编码。
decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。
JSON.parse() 方法用于将一个 JSON 字符串转换为对象。