一、实体类
@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) ;
}
}