Jackson
实体类
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Address {
private String country;
private String city;
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User implements Serializable {
private String name;
private int age;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date data;
private Address address;
}
Json—— Object
private ObjectMapper objectMapper = new ObjectMapper();
private Address address = new Address("china","wuhan");
private User user = new User("zhangsan",18,new Date(),address);
/**
* 单个复杂对象的转换
* @throws JsonProcessingException
*/
@Test
void objectString() throws JsonProcessingException {
String s = objectMapper.writeValueAsString(user);
System.out.println(s);
User user1 = objectMapper.readValue(s,User.class);
System.out.println(user1.getAge());
System.out.println(user1.getAddress().getCity());
}
Json—— List
private ObjectMapper objectMapper = new ObjectMapper();
private Address address = new Address("china","wuhan");
private User user = new User("zhangsan",18,new Date(),address);
/**
* List--String
* @throws JsonProcessingException
*/
@Test
void objectList() throws JsonProcessingException {
List<User> list = new ArrayList<User>();
list.add(user);
list.add(user);
String jsonString = objectMapper.writeValueAsString(list);
System.out.println(jsonString);
List<User> list1 = objectMapper.readValue(jsonString,List.class);
System.out.println(list1.get(0));
}
Json—— Map
private ObjectMapper objectMapper = new ObjectMapper();
private Address address = new Address("china","wuhan");
private User user = new User("zhangsan",18,new Date(),address);
/**
* Map--String
* @throws JsonProcessingException
*/
@Test
void objectMap() throws JsonProcessingException {
Map<String,User> map = new HashMap<>();
map.put("1",user);
map.put("2",user);
String jsonString = objectMapper.writeValueAsString(map);
System.out.println(jsonString);
Map<String,User> map1 = objectMapper.readValue(jsonString,Map.class);
System.out.println(map1.get("1"));
}