json怎么用java遍历

Java 遍历 JSON 的方法:使用库:Jackson:ObjectMapper 提供树型模型和流式处理。Gson:轻量级库,专注于快速转换。JSON-java:开源库,实现了 JSON 解析器和生成器。遍历 JSON 数据:Jackson:JsonNode.get() 获取数组或对象,使用循环遍历。Gson:JsonArray/JsonObject.getAsJsonArray()/getAsJsonObject() 获取数组或对象,使用循环遍历。JSON-java:JSONArray/JS

如何使用 Java 遍历 JSON

JSON(JavaScript 对象表示法)是一种流行的数据格式,用于在应用程序之间传输数据。Java 提供了多种库和 API,用于解析和遍历 JSON 数据。

库和 API

  • Jackson:这是一个功能强大的 JSON 库,提供了一系列特性,包括数据绑定、树形模型和流式处理。
  • Gson:这是一个轻量级库,专注于快速将 JSON 数据转换为 Java 对象和反之。
  • JSON-java:这是一个开源库,实现了 JSON 解析器和生成器。

遍历 JSON 数据

1. 使用 jackson-databind

ObjectMapper mapper = new ObjectMapper();
JsonNode rootNode = mapper.readTree(jsonStr);

// 遍历数组
for (JsonNode node : rootNode.get("array")) {
    System.out.println(node.asText());
}

// 遍历对象
for (Map.Entry entry : rootNode.get("object").fields()) {
    System.out.println(entry.getKey() + ": " + entry.getValue().asText());
}

2. 使用 Gson

Gson gson = new Gson();
JsonObject rootObj = gson.fromJson(jsonStr, JsonObject.class);

// 遍历数组
JsonArray arr = rootObj.getAsJsonArray("array");
for (JsonElement element : arr) {
    System.out.println(element.getAsString());
}

// 遍历对象
JsonObject obj = rootObj.getAsJsonObject("object");
for (Map.Entry entry : obj.entrySet()) {
    System.out.println(entry.getKey() + ": " + entry.getValue().getAsString());
}

3. 使用 JSON-java

JSONObject rootObj = JSONValue.parse(jsonStr);

// 遍历数组
JSONArray arr = rootObj.getJSONArray("array");
for (int i = 0; i < arr.length(); i++) {
    System.out.println(arr.get(i).toString());
}

// 遍历对象
org.json.JSONObject obj = rootObj.getJSONObject("object");
for (String key : obj.keySet()) {
    System.out.println(key + ": " + obj.getString(key));
}