通过创建
ObjectMapper
对象操作
通过
writeValueAsString()
方法将对象或集合转换成
json
格式
通过
readValue()
方法将
json
格式转换成对象或集合
通过创建
ObjectMapper
对象操作
//创建一个ObjectMapper对象,用于实现对象,集合与json格式的转换
ObjectMapper mapper = new ObjectMapper();
//实现对象与json格式的转换
@Test
public void testUserJson() {
try {
User user = new User(1, "陈陈陈", "陈陈陈", 20, new Date(), 3);
// {"id":1,"name":"陈陈陈","password":"陈陈陈","age":20,"birthday":1680525218132,"rid":3}
//将对象转换成json格式
String userJson = mapper.writeValueAsString(user);
System.out.println("userJson:" + userJson);
//将json格式的字符串转换成对象
User user2 = mapper.readValue(userJson, User.class);
System.out.println("user2:" + user2);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
//实现集合与json格式的转换
@Test
public void testList() {
try {
List<User> list = new ArrayList<>();
list.add(new User(1, "陈陈陈1", "陈陈陈1", 201, new Date(), 3));
list.add(new User(2, "陈陈陈2", "陈陈陈2", 202, new Date(), 2));
list.add(new User(3, "陈陈陈3", "陈陈陈3", 230, new Date(), 1));
list.add(new User(4, "陈陈陈4", "陈陈陈4", 240, new Date(), 3));
/* [
{"id":1,"name":"陈陈陈1","password":"陈陈陈1","age":201,"birthday":1680421124972,"rid":3},
{"id":2,"name":"陈陈陈2","password":"陈陈陈2","age":202,"birthday":1680421124972,"rid":2},
{"id":3,"name":"陈陈陈3","password":"陈陈陈3","age":230,"birthday":1680421124972,"rid":1},
{"id":4,"name":"陈陈陈4","password":"陈陈陈4","age":240,"birthday":1680421124972,"rid":3}
]
*/
//将集合转换成json格式
String listJson = mapper.writeValueAsString(list);
System.out.println("listJson:" + listJson);
//获取JavaType类型对象
JavaType type=mapper.getTypeFactory().constructParametricType(List.class,User.class);
//将json格式的字符串转换成集合
List<User>list2=mapper.readValue(listJson,type);
for (User uesr:list){
System.out.println("user:"+uesr);
}
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}