Java JSON转List实体对象
在Java开发中,经常需要进行JSON字符串与Java对象之间的转换。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端数据传输。而List是Java中的一个常见的集合类型,用于存储一组有序的对象。本文将介绍如何将JSON字符串转换为List实体对象的方法。
1. 使用Jackson库
Jackson是一个强大的Java库,用于处理JSON数据。它提供了一组API,可以方便地将JSON字符串转换为Java对象。在使用Jackson之前,需要将其添加到项目的依赖中,可以通过Maven或Gradle进行引入。
以下是一个使用Jackson进行JSON转换的示例代码:
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.List;
public class JsonToListConverter {
public static void main(String[] args) {
String json = "[{\"name\":\"Alice\",\"age\":25},{\"name\":\"Bob\",\"age\":30}]";
ObjectMapper mapper = new ObjectMapper();
try {
List<Person> personList = mapper.readValue(json, new TypeReference<List<Person>>() {});
for (Person person : personList) {
System.out.println(person.getName() + ", " + person.getAge());
}
} catch (Exception e) {
e.printStackTrace();
}
}
static class Person {
private String name;
private int age;
// getters and setters
}
}
在上述代码中,首先定义了一个Person类作为实体对象,包含name和age两个属性。然后使用Jackson库中的ObjectMapper
类将JSON字符串转换为List<Person>对象。readValue
方法接收两个参数,第一个参数是JSON字符串,第二个参数是TypeReference
对象,用于指定目标对象的类型。最后,遍历List<Person>对象并打印结果。
2. 使用Gson库
Gson是另一个常用的JSON库,它提供了简便的API用于处理JSON数据。与Jackson类似,使用Gson进行JSON转换也需要将其添加到项目的依赖中。
以下是一个使用Gson进行JSON转换的示例代码:
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.util.List;
public class JsonToListConverter {
public static void main(String[] args) {
String json = "[{\"name\":\"Alice\",\"age\":25},{\"name\":\"Bob\",\"age\":30}]";
Gson gson = new Gson();
List<Person> personList = gson.fromJson(json, new TypeToken<List<Person>>() {}.getType());
for (Person person : personList) {
System.out.println(person.getName() + ", " + person.getAge());
}
}
static class Person {
private String name;
private int age;
// getters and setters
}
}
在上述代码中,使用了Gson库的fromJson
方法将JSON字符串转换为List<Person>对象。fromJson
方法接收两个参数,第一个参数是JSON字符串,第二个参数是TypeToken
对象,用于指定目标对象的类型。与Jackson不同的是,Gson可以直接通过new TypeToken<List<Person>>() {}.getType()
获取目标对象的类型。
总结
本文介绍了两种常用的方法将JSON字符串转换为List实体对象,分别使用了Jackson和Gson库。无论选择哪种方法,都需要确保依赖库已正确引入,并了解转换过程中的数据结构。通过这种转换,可以方便地在Java中操作JSON数据,并将其转换为更方便处理的对象形式。
参考文献: [Jackson - GitHub]( [Gson - GitHub](
gantt
dateFormat YYYY-MM-DD
title JSON转List实体对象甘特图
section 任务准备
依赖库引入 :done, des1, 2022-12-01, 1d
section 使用Jackson库进行转换
定义实体类 :done, des2, 2022-12-02, 1d
编写转换代码 :done, des3, 2022-12-03, 2d
section 使用Gson库进行转换
编写转换代码 : des4, 2022-12-05, 2d
section 总结