我有以下json:
{
"users":
[{
"user":
{
"user_id" :"a11uhk22hsd3jbskj",
"username" :"tom",
"location" : null
}
}]
}
我得到这个json以回应对api的请求。查看此api的doc,location应该是一个数组(包含地理数据,纬度,经度地址等)。
现在的问题是:json中有错误吗?我的意思是,对我来说,位置似乎不是一个数组,或者可能以这种方式表示一个空数组?如果是,有什么区别:
"location" : null
"location" : []
提前致谢
答案 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)
null
是legal value (and reserved word) in JSON,但有些环境没有“NULL”对象(而不是NULL
值),因此无法准确表示JSON {{1} }。所以他们有时会把它表示为一个空数组。
null
是否是该特定API的特定元素中的合法值,完全取决于API设计者。
答案 2 :(得分:2)
第一个版本是空对象,第二个版本是零元素的Array对象。
Null在这里可能意味着例如该用户没有可用的位置,没有请求位置或者某些限制适用。很难说没有参考API。