我有以下json:
{
"users":
[{
"user":
{
"user_id" :"a11uhk22hsd3jbskj",
"username" :"tom",
"location" : null
}
}]
}
我得到这个json是为了响应对api的请求。查看此api的文档,location应该是一个数组(包含地理数据、纬度、经度地址等)。
现在的问题是: json中是否存在错误?我的意思是,在我看来,location似乎不是一个数组,或者用这种方式表示空数组是可能的?如果是,那么它们之间的区别是什么:
"location" : null
"location" : []
提前感谢
发布于 2011-11-12 21:04:57
null
是一个legal value (and reserved word) in JSON,但是有些环境没有"NULL“对象(与JSON值相反),因此不能准确地表示NULL
null
。因此,它们有时会将其表示为一个空数组。
null
在该特定API的特定元素中是否为合法的值完全取决于API设计者。
发布于 2011-11-12 21:05:11
"location" : null // this is not really an array it's a null object
"location" : [] // this is an empty array
当没有定义位置时,这个API看起来会返回null -而不是返回一个空数组,这并不是什么不寻常的事情-但是他们应该告诉你他们是否要这样做。
发布于 2011-11-12 21:05:59
第一个版本是一个空对象,而第二个版本是一个零元素的Array对象。
在这里,Null可能意味着例如没有位置可供该用户使用、没有位置被请求或者应用了一些限制。如果不引用API,就很难讲清楚。
https://stackoverflow.com/questions/8104573
复制相似问题