Json数组上的Java循环? [英] Java loop over Json array?
本文介绍了Json数组上的Java循环?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试遍历以下 JSON
{
"dataArray": [{
"A": "a",
"B": "b",
"C": "c"
}, {
"A": "a1",
"B": "b2",
"C": "c3"
}]
}
到目前为止我所得到的:
What i got so far:
JSONObject jsonObj = new JSONObject(json.get("msg").toString());
for (int i = 0; i < jsonObj.length(); i++) {
JSONObject c = jsonObj.getJSONObject("dataArray");
String A = c.getString("A");
String B = c.getString("B");
String C = c.getString("C");
}
任何想法?
推荐答案
在您的代码中,元素 dataArray
是一个JSON对象数组,而不是JSON对象本身。元素 A
, B
和 C
属于 dataArray
JSON数组中的JSON对象。
In your code the element dataArray
is an array of JSON objects, not a JSON object itself. The elements A
, B
, and C
are part of the JSON objects inside the dataArray
JSON array.
你需要迭代数组
public static void main(String[] args) throws Exception {
String jsonStr = "{ \"dataArray\": [{ \"A\": \"a\", \"B\": \"b\", \"C\": \"c\" }, { \"A\": \"a1\", \"B\": \"b2\", \"C\": \"c3\" }] }";
JSONObject jsonObj = new JSONObject(jsonStr);
JSONArray c = jsonObj.getJSONArray("dataArray");
for (int i = 0 ; i < c.length(); i++) {
JSONObject obj = c.getJSONObject(i);
String A = obj.getString("A");
String B = obj.getString("B");
String C = obj.getString("C");
System.out.println(A + " " + B + " " + C);
}
}
打印
a b c
a1 b2 c3
我不知道 msg
来自您的代码段中。
I don't know where msg
is coming from in your code snippet.
这篇关于Json数组上的Java循环?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文