将 json 数组转换为查询字符串给出 null
Converting json array to query string gives null
我想要实现的是将 json 对象作为查询字符串发送到 API.
我的 json 对象是:
{
"Name":"Dlsajdsa",
"ImageUrls":["/Images/Facility/8353/85e26a18-4366-4412-b37a-72d94f2ccda5.jpg"]
}
我想将其转换为 ?Name=&ImageUrls=
但是,当使用 $.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)
根据 jQuery.param 的文档,我认为这是您要使用的代码片段:
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"
我想要实现的是将 json 对象作为查询字符串发送到 API.
我的 json 对象是:
{
"Name":"Dlsajdsa",
"ImageUrls":["/Images/Facility/8353/85e26a18-4366-4412-b37a-72d94f2ccda5.jpg"]
}
我想将其转换为 ?Name=&ImageUrls=
但是,当使用 $.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)
根据 jQuery.param 的文档,我认为这是您要使用的代码片段:
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"