json和空数组

时间:2011-11-12 12:58:51

标签: arrays json

我有以下json:

{
   "users":
    [{
       "user": 
        {
        "user_id"  :"a11uhk22hsd3jbskj",
        "username" :"tom",
        "location" : null
        }
    }]
}

我得到这个json以回应对api的请求。查看此api的doc,location应该是一个数组(包含地理数据,纬度,经度地址等)。
现在的问题是:json中有错误吗?我的意思是,对我来说,位置似乎不是一个数组,或者可能以这种方式表示一个空数组?如果是,有什么区别:

"location" : null 
"location" : []

提前致谢

3 个答案:

答案 0 :(得分:18)

"location" : null // this is not really an array it's a null object
"location" : []   // this is an empty array

当没有定义位置时,看起来这个API返回null - 而不是返回一个空数组,而不是真的太不寻常 - 但是他们应该告诉你他们是否会这样做。

答案 1 :(得分:14)

nulllegal value (and reserved word) in JSON,但有些环境没有“NULL”对象(而不是NULL值),因此无法准确表示JSON {{1} }。所以他们有时会把它表示为一个空数组。

null是否是该特定API的特定元素中的合法值,完全取决于API设计者。

答案 2 :(得分:2)

第一个版本是空对象,第二个版本是零元素的Array对象。

Null在这里可能意味着例如该用户没有可用的位置,没有请求位置或者某些限制适用。很难说没有参考API。