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阅读此内容?
答案 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
}