📜  json 到 java 对象 - Java (1)

📅  最后修改于: 2023-12-03 15:17:04.460000             🧑  作者: Mango

JSON 到 Java 对象

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端数据的传输和存储。在 Java 中,我们可以使用各种库来将 JSON 数据转换为 Java 对象,方便我们在程序中操作和处理数据。

1. Gson

Gson 是 Google 提供的一个优秀的 Java JSON 库,它可以将 JSON 数据与 Java 对象之间进行相互转换。使用 Gson,你只需要定义一个与 JSON 数据相匹配的 Java 类,然后通过 Gson 库提供的方法将 JSON 数据转换为对应的 Java 对象。

下面是一个使用 Gson 将 JSON 转换为 Java 对象的示例代码:

import com.google.gson.Gson;

public class JsonToJavaExample {
    public static void main(String[] args) {
        String json = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";

        Gson gson = new Gson();
        Person person = gson.fromJson(json, Person.class);

        System.out.println("Name: " + person.getName());
        System.out.println("Age: " + person.getAge());
        System.out.println("City: " + person.getCity());
    }
}

class Person {
    private String name;
    private int age;
    private String city;

    // Getters and setters
}

上述代码中,我们首先创建了一个 Gson 对象,然后调用 fromJson 方法将 JSON 数据转换为 Person 对象。通过 getNamegetAgegetCity 方法可以获取转换后的 Java 对象的属性值。

2. Jackson

Jackson 是另一个流行的 JSON 操作库,它也提供了将 JSON 数据转换为 Java 对象的功能。和 Gson 类似,使用 Jackson 也需要定义一个与 JSON 数据相匹配的 Java 类,并通过 Jackson 提供的方法将 JSON 数据转换为对应的 Java 对象。

以下是一个使用 Jackson 将 JSON 转换为 Java 对象的示例代码:

import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonToJavaExample {
    public static void main(String[] args) throws IOException {
        String json = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";

        ObjectMapper objectMapper = new ObjectMapper();
        Person person = objectMapper.readValue(json, Person.class);

        System.out.println("Name: " + person.getName());
        System.out.println("Age: " + person.getAge());
        System.out.println("City: " + person.getCity());
    }
}

class Person {
    private String name;
    private int age;
    private String city;

    // Getters and setters
}

在上述代码中,我们创建了一个 ObjectMapper 对象,并使用 readValue 方法将 JSON 数据转换为 Person 对象。通过 getNamegetAgegetCity 方法可以获取转换后的 Java 对象的属性值。

3. JSON-B

JSON-B 是 Java EE 8 中引入的标准 JSON 操作库。它提供了一种简单的方式来将 JSON 数据与 Java 对象之间进行转换。使用 JSON-B,你只需要在 Java 类上添加相应的注解,并调用 JSON-B 提供的 API 将 JSON 数据转换为 Java 对象。

以下是一个使用 JSON-B 将 JSON 转换为 Java 对象的示例代码:

import javax.json.bind.Jsonb;
import javax.json.bind.JsonbBuilder;

public class JsonToJavaExample {
    public static void main(String[] args) {
        String json = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";

        Jsonb jsonb = JsonbBuilder.create();
        Person person = jsonb.fromJson(json, Person.class);

        System.out.println("Name: " + person.getName());
        System.out.println("Age: " + person.getAge());
        System.out.println("City: " + person.getCity());
    }
}

class Person {
    private String name;
    private int age;
    private String city;

    // Getters and setters
}

在上述代码中,首先创建了一个 Jsonb 对象,然后调用 fromJson 方法将 JSON 数据转换为 Person 对象。通过 getNamegetAgegetCity 方法可以获取转换后的 Java 对象的属性值。

总结

以上介绍了使用三种主流的库将 JSON 数据转换为 Java 对象的方法。使用这些库,我们可以方便地在 Java 程序中处理 JSON 数据,使数据的操作更加简洁和易读。

请注意根据你选择的库的不同,引入相应的依赖项。具体参考相关库的文档和示例代码。

有关更多信息,请参考以下文档: