我需要将 json 对象转换为 url 形式,例如:“parameter=12&asd=1”
我已经完成了:
var data = {
'action':'actualiza_resultado',
'postID': 1,
'gl': 2,
'gl2' : 3
};
var string_=JSON.stringify(data);
string_=string_.replace(/{/g, "");
string_=string_.replace(/}/g, "");
string_=string_.replace(/:/g, "=")
string_=string_.replace(/,/g, "&");
string_=string_.replace(/"/g, "");
但我想知道 javascript 或 JSON 对象中是否有任何函数可以做到这一点?
最佳答案
使用 URLSearchParams
接口(interface),内置于browsers和 Node.js starting with version 10 ,于 2018 年发布。
const myParams = {'foo': 'hi there', 'bar': '???'};
const u = new URLSearchParams(myParams).toString();
console.log(u);
旧答案:jQuery 提供 param
正是这样做的。如果您不使用 jquery,请查看 source .
基本上是这样的:
url = Object.keys(data).map(function(k) {
return encodeURIComponent(k) + '=' + encodeURIComponent(data[k])
}).join('&')
https://stackoverflow.com/questions/14525178/