将json数组转换为查询字符串将返回null

时间:2015-09-15 08:53:56

标签: javascript json query-string

我想要实现的是将一个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数组为空。

我在这里缺少什么?

3 个答案:

答案 0 :(得分:1)

您可以尝试$.param(json,true)

答案 1 :(得分:1)

根据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"

答案 2 :(得分:0)

查询参数名为ImageUrls%5B%5D,表示ImageUrls[],而不是您期望的ImageUrls。