entity、json、map的两两转换

一、实体类

@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 {
        /*获取jackson对象*/
        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*/
        Map<String, String> returnMap = BeanUtils.describe(user);
        System.out.println(returnMap);
        /*map转对象*/
        Object obj = User.class.newInstance();
        BeanUtils.populate(obj, returnMap);
        System.out.println(obj);
    }

    @Test
    public void jsonAndMap() throws JsonProcessingException {
        /*创造json字符串*/
        ObjectMapper mapper = new ObjectMapper();
        String string = mapper.writeValueAsString(user);
        /*json转map*/
        Map map = JSON.parseObject(string);
        System.out.println("id:" + map.get("id"));
        /*map转json*/
        String json = JSON.toJSONString(map);
        System.out.println(json);
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值