zoukankan      html  css  js  c++  java
  • 类转换,类型转换及填充

    准备

    导入依赖

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.49</version>
    </dependency>
    

    创建User类
    在这里插入图片描述

    创建UserDto类
    在这里插入图片描述

    对象互转(将User转为UserDto)

    User u = new User("1","小王",18);
    String jsonString = JSONObject.toJSONString(u);
    UserDto userDto = JSONObject.parseObject(jsonString, UserDto.class); 
    

    Map转对象(将Map转为UserDto)

    Map<String,Object> userMap = new HashMap<>();
    userMap.put("id","2");
    userMap.put("name","小刘");
    userMap.put("age",19);
    
    String jsonStringMap = JSONObject.toJSONString(userMap);
    UserDto dto = JSONObject.parseObject(jsonStringMap, UserDto.class);
    

    对象转Map(将User转为Map)

    User u = new User("1","小王",18);
    String jsonString = JSONObject.toJSONString(u);
    
    Map map = JSONObject.parseObject(jsonString, Map.class);
    

    可以看到上边不管是如何转换,其实只用了两个方法,toJSONString和parseObject,另外使用JSON对象也可以实现同样的效果,如下

    Map<String,Object> userMap = new HashMap<>();
    userMap.put("id","2");
    userMap.put("name","小刘");
    userMap.put("age",19);
    
    String s = JSON.toJSONString(userMap);
    User user = JSON.parseObject(s, User.class);  //User(id=2, name=小刘, age=19)
    

    对象填充

    如果项目中使用了spring那么可以使用BeanUtils工具

     UserDto userDto = new UserDto();
     userDto.setId("1");
     userDto.setName("piper");
     userDto.setAge(18);
    
     User user = new User();
     user.setId("2");
     user.setName("小王");
     user.setAge(19);
    
     BeanUtils.copyProperties(userDto, user);
    
     System.out.println(userDto.toString()); //UserDto(id=1, name=piper, age=18)
     System.out.println(user.toString()); //User(id=1, name=piper, age=18)
    
  • 相关阅读:
    小白扫盲之-计算机为何需要内存
    Centos 安装Pycharm 并移动到桌面。
    Docker守护进程
    插入排序
    快速排序
    归并排序
    __metaclass__方法
    Python面向对象(2)类空间问题以及类之间的关系
    Python面向对象(1)_初步认识
    python语法基础(8)_包
  • 原文地址:https://www.cnblogs.com/paper-man/p/13284715.html
Copyright © 2011-2022 走看看