java 遍历JSONArray
时间: 2023-10-22 16:24:54 浏览: 192
在Java中遍历JSONArray可以使用多种方法。其中一种方法是使用for循环来遍历JSONArray的元素。你可以通过获取JSONArray的大小,并使用一个索引变量来循环遍历数组。在每次循环中,使用getJSONObject方法获取JSONObject对象,并通过键名来获取对应的值。以下是使用for循环遍历JSONArray的示例代码:
```java
public static void f2(JSONArray ja) {
for (int i = 0; i < ja.size(); i++) {
System.out.println(ja.getJSONObject(i).get("id"));
}
}
```
另一种方法是使用Java 8及以上版本中的Stream流。你可以使用JSONArray的stream()方法将其转换为流,并使用forEach方法来遍历每个JSONObject对象。在forEach方法中,你可以使用Lambda表达式来处理每个JSONObject对象,并获取对应的值。以下是使用Stream流遍历JSONArray的示例代码:
```java
JSONArray jSONArray = new JSONArray();
// 假设已经将数据添加到jSONArray中
StringBuffer sBuffer = new StringBuffer();
jSONArray.stream().forEach(jsonobj -> {
JSONObject jsonObject = (JSONObject) jsonobj;
sBuffer.append(jsonObject.getInteger("id")).append(",");
});
System.out.println(sBuffer.toString());
```
还有一种方法是使用optJSONArray方法来获取JSONArray中的子数组,并继续使用循环或流来遍历子数组中的元素。以下是使用optJSONArray方法遍历JSONArray的示例代码:
```java
JSONArray jsonArray = new JSONArray();
// 假设已经将数据添加到jsonArray中
for (int i = 0; i < jsonArray.size(); i++) {
JSONArray childJsonArray = jsonArray.optJSONArray(i);
// 处理子数组中的元素
}
```
这些是在Java中遍历JSONArray的三种常见方法。你可以根据自己的需求选择适合的方法来遍历JSONArray。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [如何遍历JsonArray在Java](https://blog.csdn.net/weixin_35775988/article/details/118830439)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [java中JSONArray 遍历方式](https://blog.csdn.net/qq_41877050/article/details/117694224)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文