json数组转list java代码实现
时间: 2023-10-10 07:16:07 浏览: 126
好的,以下是将 JSON 数组转为 List 的 Java 代码实现:
```
String jsonStr = "[\"apple\", \"banana\", \"orange\"]";
Type listType = new TypeToken<ArrayList<String>>(){}.getType();
List<String> fruitList = new Gson().fromJson(jsonStr, listType);
```
以上代码使用 Gson 库将 JSON 数组转换为 ArrayList 类型的 List。
相关问题
json数组转list java遍历
可以使用 Java 中的 ObjectMapper 类将 JSON 数组转换为 List,示例代码如下:
```
ObjectMapper mapper = new ObjectMapper();
String jsonStr = "[{\"id\":1,\"name\":\"Alice\"},{\"id\":2,\"name\":\"Bob\"},{\"id\":3,\"name\":\"Charlie\"}]";
List<User> userList = mapper.readValue(jsonStr, new TypeReference<List<User>>(){});
for (User user : userList) {
System.out.println(user.getName());
}
```
其中,User 类为自定义的 Java Bean,需要根据 JSON 的结构进行适当的定义。在示例中,User 类包含 id 和 name 两个字段。在遍历 List 时,输出每个 User 对象的 name 属性。
需要注意的是,使用 ObjectMapper 需要引入 jackson-databind 的依赖。
如何把json数组转换为java对象
将JSON数组转换为Java对象可以通过多种方法实现,其中最常用的是使用第三方库,如Jackson或Gson。以下是使用这两种库的示例:
### 使用Jackson库
1. **添加Jackson依赖**:
如果你使用的是Maven项目,可以在`pom.xml`中添加以下依赖:
```xml
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.0</version>
</dependency>
```
2. **定义Java类**:
假设我们有一个JSON数组,每个元素都是一个包含`id`和`name`字段的对象:
```json
[
{"id": 1, "name": "Alice"},
{"id": 2, "name": "Bob"}
]
```
对应的Java类如下:
```java
public class Person {
private int id;
private String name;
// Getter and Setter methods
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
```
3. **转换JSON数组为Java对象列表**:
```java
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.List;
public class JsonToJavaExample {
public static void main(String[] args) {
String jsonArray = "[{\"id\":1,\"name\":\"Alice\"},{\"id\":2,\"name\":\"Bob\"}]";
ObjectMapper objectMapper = new ObjectMapper();
try {
List<Person> personList = objectMapper.readValue(jsonArray, new TypeReference<List<Person>>(){});
for (Person person : personList) {
System.out.println("ID: " + person.getId() + ", Name: " + person.getName());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
### 使用Gson库
1. **添加Gson依赖**:
如果你使用的是Maven项目,可以在`pom.xml`中添加以下依赖:
```xml
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.9</version>
</dependency>
```
2. **转换JSON数组为Java对象列表**:
```java
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
public class JsonToJavaExample {
public static void main(String[] args) {
String jsonArray = "[{\"id\":1,\"name\":\"Alice\"},{\"id\":2,\"name\":\"Bob\"}]";
Gson gson = new Gson();
Type listType = new TypeToken<List<Person>>() {}.getType();
List<Person> personList = gson.fromJson(jsonArray, listType);
for (Person person : personList) {
System.out.println("ID: " + person.getId() + ", Name: " + person.getName());
}
}
}
```
通过以上两种方法,你可以轻松地将JSON数组转换为Java对象列表。选择哪种方法取决于你的项目需求和个人偏好。
阅读全文
相关推荐















