如何阅读这个JSON

时间:2015-10-16 23:48:30

标签: android json

String json =     
[ 
 {"a":{"aa":"string","ab":"string"} },
 {"b":{"ba":"string","bb":"string"} }
]

我正在尝试使用JsonObject解析此数据。  当我使用这段代码时:

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

它给了我这个:( json的第一行,但我想要所有数据)

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

如何使用Android阅读此内容?

2 个答案:

答案 0 :(得分: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);
    }

答案 1 :(得分:0)

实际上,这个JSON有点奇怪,因为它将数组对象分别包装成一个额外的对象(&#34; a&#34;和#34; b&#34;),这将使其难以解析。它应该是这样的:

  

String json = [{&#34; name&#34;:&#34; a&#34;,&#34; aa&#34;:&#34; string&#34;,&#34; ab&# 34;:&#34;串&#34;},   {&#34;名称&#34;:&#34; B&#34;&#34; BA&#34;:&#34;串&#34;&#34; BB&#34;:&#34;字符串&#34;}]

然后你会像这样解析它:

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
}