2011-11-12 27 views
18

我有以下JSON:JSON和空數組

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

我得到這個JSON響應於對API的請求。看這個API的文檔,位置應該是一個數組(包含地理數據,緯度,經度地址等)。
現在的問題是:json中有錯誤?我的意思是,對我來說,位置似乎不是一個數組,或者可以用這種方式表示一個空數組?如果是之間有什麼區別:提前

"location" : null 
"location" : [] 

感謝

回答

10

nulllegal value (and reserved word) in JSON,但某些環境沒有「NULL」對象(而不是一個NULL值),因此不能準確地代表JSON null。所以他們有時會把它表示爲一個空陣列。

null是否是該特定API的特定元素中的合法值完全取決於API設計者。

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

它看起來像這個API的時候沒有定義的位置返回null - 而不是返回一個空數組,而不是太不尋常真的 - 但是他們應該告訴你,如果他們要做到這一點。

2

第一個版本是空對象,而第二個版本是零元素的數組對象。

這裏的Null可能表示沒有位置可用於該用戶,沒有請求位置或應用某些限制。很難說沒有提及API。