Java 对象转 JSON
文档介绍如何使用 Jackson 库将 Java 对象转换为 JSON 字符串包含复杂类型。Jackson 用于处理 JSON 数据格式的序列化和反序列化。
1 引入 Jackson 依赖
在项目中引入 Jackson 的依赖,可以通过 Maven、Gradle 或直接下载 JAR 文件实现。以下是 Maven 引入示例:
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.0</version>
</dependency>2 创建 Java 对象
创建一个 Java 对象,该对象将被转换为 JSON 字符串
public class Person {
    private String name;
    //.......其他
}3 创建 ObjectMapper 对象
创建 ObjectMapper 对象, Jackson 中负责序列化和反序列化的核心类
ObjectMapper objectMapper = new ObjectMapper();4 序列化 Java 对象
使用 ObjectMapper 的 writeValueAsString 方法将 Java 对象转换为 JSON 字符串
//例如
public class ObjectToJsonExample {
    public static void main(String[] args) throws Exception {
        Person person = new Person();
        person.setName("****");
        //.....其他
        String jsonString = objectMapper.writeValueAsString(person);
        System.out.println(jsonString);
    }
}5 使用注解定制字段
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
public class CustomSerializationObject {
    @JsonProperty("full_name")
    private String name;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private Date birthDate;
    // .....其他
}6 序列化包含注解的对象
public class CustomSerializationExample {
    public static void main(String[] args) throws Exception {
        CustomSerializationObject customObject = new CustomSerializationObject("*****", new Date());
        String jsonString = objectMapper.writeValueAsString(customObject);
        System.out.println(jsonString);
    }
}7 定义包含复杂类型和集合的类
public class ListObject {
    private List<Person> people;
  
}8 序列化包含复杂类型的对象
public class ListSerializationExample {
    public static void main(String[] args) throws Exception {
        List<Person> peopleList = new ArrayList<>();
        peopleList.add(new Person("Alice", 25));
        //.....其他
        ListObject listObject = new ListObject(peopleList);
        String jsonString = objectMapper.writeValueAsString(listObject);
        System.out.println(jsonString);
    }
}Java 对象转 JSON 
        http://localhost:8090//archives/java-dui-xiang-zhuan-json