java把list对象转为json,然后再把json转为list对象
时间: 2023-10-02 15:09:55 浏览: 102
Java中JSON字符串与java对象的互换实例详解
可以使用JSON库(如Jackson、Gson等)来完成Java对象与JSON数据之间的转换。以下是一个示例代码,将List对象转为JSON,然后再将JSON转为List对象:
```java
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class JsonTest {
public static void main(String[] args) throws IOException {
// 创建一个List对象
List<User> userList = new ArrayList<>();
userList.add(new User("Tom", 20));
userList.add(new User("Jerry", 22));
// 将List对象转为JSON
ObjectMapper mapper = new ObjectMapper();
String jsonStr = mapper.writeValueAsString(userList);
System.out.println("List转为JSON:" + jsonStr);
// 将JSON转为List对象
List<User> userList2 = mapper.readValue(jsonStr, new TypeReference<List<User>>(){});
System.out.println("JSON转为List:" + userList2);
}
}
class User {
private String name;
private Integer age;
public User() {}
public User(String name, Integer age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
```
这段代码中,User类是一个简单的JavaBean,包含name和age两个属性。使用ObjectMapper的writeValueAsString方法将List对象转为JSON字符串,使用readValue方法将JSON字符串转为List对象。注意,在转为List对象时需要使用TypeReference类来指定泛型类型。
阅读全文