【JAVA】解析Json字符串常见方式

解析 JSON 字符串通常涉及到将 JSON 格式的文本转换成可以被程序操作的对象结构。在 Java 中,可以使用多种库来实现这一点,例如 Jackson、Gson、Fastjson 等。下面使用这些库进行 JSON 解析的基本步骤和示例代码。

示例类定义

首先,我们定义一个简单的 Java 类来表示 JSON 数据的结构。假设我们有以下 OrderDto

public class OrderDto {
    private String orderId;
    private String userId;
    private String productId;
    private int quantity;

    public OrderDto(String orderId, String userId, String productId, int quantity) {
        this.orderId = orderId;
        this.userId = userId;
        this.productId = productId;
        this.quantity = quantity;
    }

    // Getters and setters
    public String getOrderId() { return orderId; }
    public void setOrderId(String orderId) { this.orderId = orderId; }
    public String getUserId() { return userId; }
    public void setUserId(String userId) { this.userId = userId; }
    public String getProductId() { return productId; }
    public void setProductId(String productId) { this.productId = productId; }
    public int getQuantity() { return quantity; }
    public void setQuantity(int quantity) { this.quantity = quantity; }

    @Override
    public String toString() {
        return "OrderDto{" +
                "orderId='" + orderId + '\'' +
                ", userId='" + userId + '\'' +
                ", productId='" + productId + '\'' +
                ", quantity=" + quantity +
                '}';
    }
}

使用 Jackson 进行解析

Jackson 是一个非常流行的 JSON 处理库,提供了灵活且高性能的方法来处理 JSON 数据

添加依赖

首先,确保您的项目中包含了 Jackson 的依赖。如果您使用 Maven,可以在 pom.xml 文件中添加以下依赖:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.15.2</version>
</dependency>
解析示例

接下来,我们可以使用 Jackson 库来解析 JSON 字符串:

import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonExample {
    public static void main(String[] args) {
        ObjectMapper mapper = new ObjectMapper();
        
        String json = "{\"orderId\":\"123456\",\"userId\":\"user123\",\"productId\":\"product456\",\"quantity\":2}";

        try {
            OrderDto orderDto = mapper.readValue(json, OrderDto.class);
            System.out.println(orderDto.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用 Gson 进行解析

Gson 是另一个常用的 JSON 处理库,由 Google 提供。

添加依赖

对于 Maven 项目,在 pom.xml 文件中添加以下依赖:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.10</version>
</dependency>
解析示例

使用 Gson 解析 JSON 字符串:

import com.google.gson.Gson;

public class JsonExample {
    public static void main(String[] args) {
        Gson gson = new Gson();

        String json = "{\"orderId\":\"123456\",\"userId\":\"user123\",\"productId\":\"product456\",\"quantity\":2}";
        
        OrderDto orderDto = gson.fromJson(json, OrderDto.class);
        System.out.println(orderDto.toString());
    }
}

使用 Fastjson 进行解析

Fastjson 是阿里巴巴开源的一个 JSON 处理库,性能优异。

添加依赖

对于 Maven 项目,在 pom.xml 文件中添加以下依赖:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.93</version>
</dependency>
解析示例

使用 Fastjson 解析 JSON 字符串:

import com.alibaba.fastjson.JSON;

public class JsonExample {
    public static void main(String[] args) {
        String json = "{\"orderId\":\"123456\",\"userId\":\"user123\",\"productId\":\"product456\",\"quantity\":2}";
        
        OrderDto orderDto = JSON.parseObject(json, OrderDto.class);
        System.out.println(orderDto.toString());
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值