在 Java 中,将 JSON 转换为 List 对象有多种方式,其中常用的方式是使用第三方库,如 Jackson、Gson 等。下面我将详细介绍使用 Jackson 和 Gson 两种库的步骤流程,包括依赖坐标、示例代码等。
步骤流程:
添加 Jackson 的依赖到项目中(Maven 和 Gradle):
Maven 依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.0</version>
</dependency>
Gradle 依赖:
implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.0'
创建 Java 类来映射 JSON 数据的结构。
假设有以下 JSON 数据:
[
{
"id": 1,
"name": "Alice"
},
{
"id": 2,
"name": "Bob"
}
]
对应的 Java 类:
import com.fasterxml.jackson.annotation.JsonProperty;
public class Person {
@JsonProperty("id")
private int id;
@JsonProperty("name")
private String name;
// Getters and setters (or Lombok annotations)
}
使用 Jackson 进行 JSON 转换:
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.List;
public class JsonToListUsingJackson {
public static void main(String[] args) throws IOException {
String json = "[{\"id\":1,\"name\":\"Alice\"},{\"id\":2,\"name\":\"Bob\"}]";
ObjectMapper objectMapper = new ObjectMapper();
List<Person> personList = objectMapper.readValue(json, new TypeReference<List<Person>>() {});
for (Person person : personList) {
System.out.println("ID: " + person.getId() + ", Name: " + person.getName());
}
}
}
步骤流程:
添加 Gson 的依赖到项目中(Maven 和 Gradle):
Maven 依赖:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.9</version>
</dependency>
Gradle 依赖:
implementation 'com.google.code.gson:gson:2.8.9'
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.util.List;
public class JsonToListUsingGson {
public static void main(String[] args) {
String json = "[{\"id\":1,\"name\":\"Alice\"},{\"id\":2,\"name\":\"Bob\"}]";
Gson gson = new Gson();
List<Person> personList = gson.fromJson(json, new TypeToken<List<Person>>() {}.getType());
for (Person person : personList) {
System.out.println("ID: " + person.getId() + ", Name: " + person.getName());
}
}
}
以上示例代码中,Person
类是用来映射 JSON 中的对象结构的,包括 id
和 name
字段。Jackson 和 Gson 库分别提供了 ObjectMapper
和 Gson
类来进行 JSON 的读取和解析,然后使用 readValue
(对于 Jackson)和 fromJson
(对于 Gson)方法将 JSON 转换为 List 对象。最后,可以遍历 List 对象来获取每个元素的属性值。
记得根据你的实际需求,选择适合的库和步骤。