2013-07-09 63 views
0

JSON:檢測類型JSON屬性的

{"attribute1":11, "attribute2":"string atribute"} 

我想檢測什麼樣的類型是ATTRIBUTE1和attribute2:

  • ATTRIBUTE1是整數
  • attribute2是字符串

jsonObject.getAttributeType(「attribute2」); //應該輸出:string/integer/boolean。

這很容易在PHP或OBJC中實現。建議?

+2

你不能使用jsonObject.get()並檢查結果與instanceof? – user1410657

回答

2

(我假設了Android的org.json包是一樣的,你可以找到json.org網站... here

的唯一方法上JSONObject,這將使你的基礎價值...沒有強迫它......是JSONObject.get(name)。如果name已知,則結果是表示內部值的對象。我沒有做過的代碼進行全面拖網,但我認爲這隻能是以下類型之一:

Boolean, Long, Double, String, JSONArray, JSONObject 

您應該能夠使用instanceof區分這些。


但應該問自己,這是否是正確的做法。 正常通過JSONObject API處理JSON對象屬性的方法是使用將它們強制轉換爲您所期望的類型的方法。在大多數情況下,如果將號碼作爲4242.0"42"發送,則無關緊要,如果意圖易於確定,最好不要挑剔。