Javascript 将json数组转换为查询字符串会导致null
我试图实现的是将json对象作为查询字符串发送到API 我拥有的json对象是:Javascript 将json数组转换为查询字符串会导致null,javascript,json,query-string,Javascript,Json,Query String,我试图实现的是将json对象作为查询字符串发送到API 我拥有的json对象是: { "Name":"Dlsajdsa", "ImageUrls":["/Images/Facility/8353/85e26a18-4366-4412-b37a-72d94f2ccda5.jpg"] } 我想将其转换为类似于?Name=&imageURL的内容= 但是,当使用$.param(json)时,我得到以下结果: ?Name=Dlsajdsa&ImageUrls%5B%5D=%2FImag
{
"Name":"Dlsajdsa",
"ImageUrls":["/Images/Facility/8353/85e26a18-4366-4412-b37a-72d94f2ccda5.jpg"]
}
我想将其转换为类似于?Name=&imageURL的内容=
但是,当使用$.param(json)时,我得到以下结果:
?Name=Dlsajdsa&ImageUrls%5B%5D=%2FImages%2FFacility%2F8353%2F85e26a18-4366-4412-b37a-72d94f2ccda5.jpg
从API的角度来看,这将导致ImageUrls数组为空
这里缺少什么?查询参数称为
ImageUrls%5B%5D
,这意味着ImageUrls[]
,而不是您期望的ImageUrls。您可以尝试$.param(json,true)
基于的文档,我想说这是您想要使用的代码:
var json = {
"Name":"Dlsajdsa",
"ImageUrls":["/Images/Facility/8353/85e26a18-4366-4412-b37a-72d94f2ccda5.jpg"]
};
var recursiveDecoded = decodeURIComponent($.param(json));
// "Name=Dlsajdsa&ImageUrls[]=/Images/Facility/8353/85e26a18-4366-4412-b37a-72d94f2ccda5.jpg"