一、实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Long id;
private String username;
private String password;
private String phoneNum;
private String email;
private Role role;
}
二、转换
public class EntityAndJsonAndMap {
User user = new User();
@Before
public void beforeTest() {
user.setId(12L);
user.setUsername("茴子白苗");
user.setPassword("9527");
user.setEmail("1234321");
}
@Test
public void entityAndJson() throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
String string = mapper.writeValueAsString(user);
System.out.println("对象转字符串:" + string.getClass().getName() + "\t" + string);
User user = mapper.readValue(string, User.class);
System.out.println("字符串转对象:" + ((Object) user).getClass().getName() + "\t" + user);
}
@Test
public void entityAndMap() throws Exception {
Map<String, String> returnMap = BeanUtils.describe(user);
System.out.println(returnMap);
Object obj = User.class.newInstance();
BeanUtils.populate(obj, returnMap);
System.out.println(obj);
}
@Test
public void jsonAndMap() throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
String string = mapper.writeValueAsString(user);
Map map = JSON.parseObject(string);
System.out.println("id:" + map.get("id"));
String json = JSON.toJSONString(map);
System.out.println(json);
}
}