2015-10-16 86 views
-1
String json =  
[ 
{"a":{"aa":"string","ab":"string"} }, 
{"b":{"ba":"string","bb":"string"} } 
] 

我想解析這個數據使用JsonObject。 當我使用此代碼:如何閱讀這個JSON

JSONStringer Js= new JSONStringer(json); 
Log.d("json", ""+Js); 

它給了我這樣的:(JSON的第一線,但我希望所有數據)

{"a":{"aa":"string","ab":"string"} } 

我如何與Android閱讀本?

回答

3

這是一個JsonArray不是一個簡單的JsonObject

試試這個:

JSONArray a = new JSONArray(json); 
    for (int i = 0; i < a.length(); i++) { 
     JSONObject row = a.getJSONObject(i); 
     Log.d("json", ""+row); 
    } 
+0

拋出exeption。值... json ...是JSONobject類型不可轉換的JSON數組。我認爲這是關於串行JSON。我正在尋找它。 –

+0

你已經發布了絕對的JsonArray。我不確定什麼是串行JSON。 – pgiitu

0

其實,這JSON是一種奇怪的,因爲它包裝的對象數組到一個額外的對象的每個( 「A」和「b」),這將很難解析。它應該是這樣的:

字符串JSON = [{ 「名」: 「A」, 「AA」: 「串」, 「AB」: 「串」}, { 「名」:「B 」, 「BA」: 「串」, 「BB」: 「串」}]

然後你會分析它是這樣的:

JSONArray root = new JSONArray(jsonString); //this is the above string 
for(int i = 0; i < root.length(); i++){ 
    JSONObject current = root.getJSONObject(i); 

    //Do the parsing here 
}