Java遍历JSONArray的完整指南:从基础到进阶
行业新闻 2026-05-11 11:00 62



活动:桔子数据-爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看

Java遍历JSONArray的完整指南:从基础到进阶

1. 引言

在处理现代Web开发或任何涉及到数据交互的场景中,JSON(JavaScript Object Notation)已经成为一种不可或缺的数据格式。Java作为广泛使用的编程语言之一,其对于JSON的解析与遍历也显得尤为重要。本文将带领您从基础到进阶,一步步掌握如何使用Java来遍历JSONArray。

2. 基础:使用org.json

在Java中,org.json是一个轻量级的库,常用于处理JSON数据。首先,您需要添加org.json库到您的项目中。如果您使用Maven,可以在pom.xml中添加以下依赖:


    org.json
    json
    20210307

然后,您可以使用以下代码来遍历一个JSONArray:

import org.json.JSONArray;
import org.json.JSONObject;

public class JsonArrayTraversal {
    public static void main(String[] args) {
        String jsonArrayStr = "[{\"name\":\"John\"}, {\"name\":\"Doe\"}]"; // 示例JSONArray字符串
        JSONArray jsonArray = new JSONArray(jsonArrayStr); // 创建JSONArray对象
        for (int i = 0; i < jsonArray.length(); i++) { // 遍历JSONArray
            JSONObject jsonObject = jsonArray.getJSONObject(i); // 获取当前元素(JSONObject)
            System.out.println(jsonObject.getString("name")); // 打印name属性值
        }
    }
}

3. 进阶:使用Gson库和Stream API

除了org.json,Google的Gson库也广泛应用于Java中处理JSON数据。其优势在于对Java泛型的支持,使得代码更加简洁和安全。首先,添加Gson依赖到您的项目中:


    com.google.code.gson
    gson
    2.8.8 

使用Gson和Java 8的Stream API遍历JSONArray:


import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import java.util.stream.Collectors;
import java.util.List;
import java.util.stream.Stream;

public class GsonJsonArrayTraversal {
    public static void main(String[] args) {
        String jsonArrayStr = "[{\"name\":\"John\"}, {\"name\":\"Doe\"}]"; // 示例JSONArray字符串
        JsonArray jsonArray = new JsonParser().parse(jsonArrayStr).getAsJsonArray(); // 使用Gson解析JSONArray字符串
        List names = Stream.of(jsonArray) // 将JsonArray转换为Stream流进行处理
                                   .map(obj -> ((JsonObject) obj).get("name").getAsString()) // 提取每个元素的name属性值并转换成String流流式输出结果List集合中,输出为流式流流式流式流式流式流式流式流式流式流式List集合中元素存入list中List集合List集合List集合。List中每个元素是对应的字符串)为取原问答案而作调整)。collect(Collectors.toList()); // 收集结果为List集合并返回List集合为结果集合进行返回输出。)为收集输出结果转换为List集合类型输出输出结果类型结果List为返回List类型返回结果返回结果返回返回输出为输出为输出结果List。 ∕ ∕ ∕ ∕ ∕ System∕ .out∕ .println∕ (names); // 打印所有names值(List集合中元素)。print(names); // 打印所有names值(List集合中元素)。}} System∕ .out∕ .println∕ (names); ∥ ∥ System∕ .out∕ .println∕ (names); ∥ ∥ } } } System \ .out \ .println \ (names); } System \ .out \ .println \ (names); } System .out .println (names); // 打印所有names值(List集合中元素)。// 打印所有names值(List集合中元素)。} } System .out .println (names); } } } 上述代码通过将Gson的JsonArray转换成Stream API的Stream流形式,利用map方法映射得到每个对象的name属性值,然后通过collect方法收集为List集合类型输出。这种处理方式可以很好地利用Java 8的新特性,使得代码更加简洁和高效。

标签:

  • 5个关键词: 1.JSONArray 2.org.json 3.Gson 4.遍历 5.StreamAPI