java循环json数组,Json数组上的Java循环?

I am trying to loop over the following 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");

}

Any ideas?

解决方案

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.

You need to iterate of the 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);

}

}

prints

a b c

a1 b2 c3

I don't know where msg is coming from in your code snippet.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值