java遍历jsonarray数组_java-JSON-遍历JSONArray

这篇博客展示了如何在Java中遍历JSONArray,并获取每个JSONObject中的组件名称和值。通过使用`getJSONObject()`和`getNames()`方法,可以有效地遍历数组中的对象及其属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

更改

JSONObject objects = getArray.getJSONArray(i);

JSONObject objects = getArray.getJSONObject(i);

或者

JSONObject objects = getArray.optJSONObject(i);

取决于您使用的是JSON到/来自Java的库。 (看起来getArray.length() - 1将为您工作。)

然后,要访问“对象” 2699982213855798272中的字符串元素,请按元素名称将其取出。

String a = objects.get("A");

如果需要getArray.length() - 1中的元素名称,则可以使用静态实用程序方法JSONObject.getNames(JSONObject)来完成。

String[] elementNames = JSONObject.getNames(objects);

“获取第一个元素的值和最后一个元素的值。”

如果“元素”是指数组中的组件,请注意第一个组件位于索引0,最后一个组件位于索引getArray.length() - 1。

我想遍历数组中的对象并获取其组件和值。 在我的示例中,第一个对象具有3个成分,scond具有5个成分,第三个具有4个成分。 我想遍历它们中的每一个并获取其组件名称和值。

以下代码正是这样做的。

import org.json.JSONArray;

import org.json.JSONObject;

public class Foo

{

public static void main(String[] args) throws Exception

{

String jsonInput = "{\"JObjects\":{\"JArray1\":[{\"A\":\"a\",\"B\":\"b\",\"C\":\"c\"},{\"A\":\"a1\",\"B\":\"b2\",\"C\":\"c3\",\"D\":\"d4\",\"E\":\"e5\"},{\"A\":\"aa\",\"B\":\"bb\",\"C\":\"cc\",\"D\":\"dd\"}]}}";

// "I want to iterate though the objects in the array..."

JSONObject outerObject = new JSONObject(jsonInput);

JSONObject innerObject = outerObject.getJSONObject("JObjects");

JSONArray jsonArray = innerObject.getJSONArray("JArray1");

for (int i = 0, size = jsonArray.length(); i < size; i++)

{

JSONObject objectInArray = jsonArray.getJSONObject(i);

// "...and get thier component and thier value."

String[] elementNames = JSONObject.getNames(objectInArray);

System.out.printf("%d ELEMENTS IN CURRENT OBJECT:\n", elementNames.length);

for (String elementName : elementNames)

{

String value = objectInArray.getString(elementName);

System.out.printf("name=%s, value=%s\n", elementName, value);

}

System.out.println();

}

}

}

/*

OUTPUT:

3 ELEMENTS IN CURRENT OBJECT:

name=A, value=a

name=B, value=b

name=C, value=c

5 ELEMENTS IN CURRENT OBJECT:

name=D, value=d4

name=E, value=e5

name=A, value=a1

name=B, value=b2

name=C, value=c3

4 ELEMENTS IN CURRENT OBJECT:

name=D, value=dd

name=A, value=aa

name=B, value=bb

name=C, value=cc

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值