jacksonJson是springMvc内置的json处理工具、其中有一个ObjectMapper处理json
User.java
public class User implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
// 用户名
private String userName;
// 密码
private String password;
// 姓名
private String name;
// 年龄
private Integer age;
// 性别,1男性,2女性
private Integer sex;
// 出生日期
private Date birthday;
// 创建时间
private Date created;
// 更新时间
private Date updated;
1、对象转Json
//对象转json
@Test
public void testJson() throws JsonProcessingException {
ObjectMapper om = new ObjectMapper();
User user = new User();
user.setId(20L);
user.setUserName("ssw");
String json = om.writeValueAsString(user);
System.out.println("json = " + json);
}
2、Json转普通对象
//json转对象
@Test
public void testJson() throws IOException {
ObjectMapper om = new ObjectMapper();
User user = new User();
user.setId(20L);
user.setUserName("ssw");
//序列化
String json = om.writeValueAsString(user);
//反序列化
User result = om.readValue(json,new TypeReference<User>(){});
System.out.println("json = " + result);
}
3、Json转集合
//json转集合
@Test
public void testJson() throws IOException {
ObjectMapper om = new ObjectMapper();
User user = new User();
user.setId(20L);
user.setUserName("ssw");
//序列化
String jsonList = om.writeValueAsString(Arrays.asList(user,user));
//反序列化
List<User> result = om.readValue(jsonList,new TypeReference<List<User>>(){});
System.out.println("json = " + result);
}
4、Json转任意复杂类型
//json转复杂类型
@Test
public void testJsons2() throws IOException {
ObjectMapper om = new ObjectMapper();
User user = new User();
user.setId(20L);
user.setUserName("ssw");
Map<String,List<User>> maps = new HashMap<>();
maps.put("users1",Arrays.asList(user,user,user));
maps.put("users2",Arrays.asList(user,user,user,user));
maps.put("users3",Arrays.asList(user,user,user,user,user));
maps.put("users4",Arrays.asList(user,user));
//序列化
String jsonMap = om.writeValueAsString(maps);
System.out.println("jsonMap = " + jsonMap);
//反序列化
Map<String,List<User>> userMaps = om.readValue(jsonMap,new TypeReference<Map<String,List<User>>>(){});
System.out.println("userMaps = " + userMaps);
}