Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

java json解析


在 Java 中,解析 JSON 数据有多种方式,可以使用标准库,也可以借助第三方库来简化操作。下面我将介绍几种常用的 JSON 解析方式,并提供相应的代码示例和 Maven/Gradle 依赖坐标。

注意:以下示例假设你已经有一个包含 JSON 数据的字符串或者输入流。

使用标准库(javax.json)

Java 标准库提供了 javax.json 包,可以用于解析 JSON 数据。

步骤流程:

  1. 引入 javax.json 库。
  2. 使用 JsonReader 来解析 JSON 数据。

示例代码:

import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonReader;
import java.io.StringReader;

public class JsonParsingUsingStdLib {
    public static void main(String[] args) {
        String jsonStr = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
        try (JsonReader reader = Json.createReader(new StringReader(jsonStr))) {
            JsonObject jsonObject = reader.readObject();
            String name = jsonObject.getString("name");
            int age = jsonObject.getInt("age");
            String city = jsonObject.getString("city");
            System.out.println("Name: " + name);
            System.out.println("Age: " + age);
            System.out.println("City: " + city);
        }
    }
}

Maven 依赖:

<dependency>
    <groupId>javax.json</groupId>
    <artifactId>javax.json-api</artifactId>
    <version>1.1.4</version>
</dependency>
<dependency>
    <groupId>org.glassfish</groupId>
    <artifactId>javax.json</artifactId>
    <version>1.1.4</version>
</dependency>

使用 Jackson 库

Jackson 是一个流行的 JSON 处理库,提供了高性能的 JSON 解析和生成功能。

步骤流程:

  1. 引入 Jackson 库。
  2. 创建 ObjectMapper 对象并使用其方法解析 JSON 数据。

示例代码:

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonParsingUsingJackson {
    public static void main(String[] args) throws Exception {
        String jsonStr = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
        ObjectMapper objectMapper = new ObjectMapper();
        JsonNode jsonNode = objectMapper.readTree(jsonStr);
        String name = jsonNode.get("name").asText();
        int age = jsonNode.get("age").asInt();
        String city = jsonNode.get("city").asText();
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
        System.out.println("City: " + city);
    }
}

Maven 依赖:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.12.5</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.12.5</version>
</dependency>

使用 Gson 库

Gson 是 Google 提供的另一个常用的 JSON 处理库,具有简单易用的 API。

步骤流程:

  1. 引入 Gson 库。
  2. 创建 Gson 对象并使用其方法解析 JSON 数据。

示例代码:

import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

public class JsonParsingUsingGson {
    public static void main(String[] args) {
        String jsonStr = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
        JsonParser jsonParser = new JsonParser();
        JsonElement jsonElement = jsonParser.parse(jsonStr);
        JsonObject jsonObject = jsonElement.getAsJsonObject();
        String name = jsonObject.get("name").getAsString();
        int age = jsonObject.get("age").getAsInt();
        String city = jsonObject.get("city").getAsString();
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
        System.out.println("City: " + city);
    }
}

Maven 依赖:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.9</version>
</dependency>

这些是几种常见的 JSON 解析方式,你可以根据自己的项目需求选择合适的库和方法来解析 JSON 数据。每种方式都有其优势和特点,选择适合你项目的方式是很重要的。

在Java中解析JSON字符串有多种方式,以下是常用的几种实现方式,以及每种方式的步骤流程、示例代码和依赖坐标。json库这是一个简单的JS ...
在Java中进行PDF解析有多种方式,以下是几种常见的实现方式,包括使用第三方库的步骤流程、Maven和Gradle依赖坐标以及示例代码。M ...
Hive SQL JSON 字符串函数 GET_JSON_OBJECT 是用于解析 json 字符串,支持多层嵌套的 json 形式的解析, ...
在Java中,将JSON字符串转换为JSON对象可以使用多种不同的方式。示例代码:###方式二:使用Jackson库添加依赖(Maven和G ...
在Java中解析XML有多种方式,以下是其中几种常见的实现方式,包括DOM解析、SAX解析、和StAX解析。示例代码:Maven依赖:Gra ...