json字符串、javaBean、Map之间的相互转换

在java开发中,经常会遇到json字符串、javaBean、Map之间的类型转换。下面我介绍一种利用com.alibaba.fastjson和commons-beanutils实现它们之间转换的方法:

  导包


    com.alibaba
    fastjson
    1.2.44



    commons-beanutils
    commons-beanutils
    1.9.3

  

  1. json字符串、Map
    //Map-->json字符串
    Map map = new HashMap<>();
            map.put("orderNo","xp001");
            map.put("plateNo","xp002");
            map.put("dispatcher","xp003");
            map.put("parkingSpace","xp004");
            map.put("roadId","xp005");
    
     String string = JSONObject.toJSONString(map);
    
    //json字符串-->Map
    Map map2= JSON.parseObject(string,Map.class);
    for (Map.Entry entry : map2.entrySet()) {
               System.out.println(entry .getKey()+":"+entry .getValue());
            }

     

  2. json字符串、JavaBean
    @Data
    @ToString
    public class OrderCarInfo  {
        private String orderNo;//订单号
        private String plateNo;//车牌号
        private String dispatcher;  //调度
        private String parkingSpace;  //车位
        private String roadId;  //路单号
    }
    

     

    //jsonString-->JavaBean
    //string为前面的json字符串
    OrderCarInfo orderCarInfo = JSON.parseObject(string,OrderCarInfo.class);
    
    //JavaBean-->jsonString
    String json = JSON.toJSONString(orderCarInfo);
    
    //jsonString-->List
    List carInfos1 = JSONArray.parseArray(json,OrderCarInfo.class);
    List carInfos2 = JSON.parseArray(json,OrderCarInfo.class);
    
    //List-->jsonString
    String json2 = JSONObject.toJSONString(carInfos1 );
    String json3 = JSONObject.toJSONString(carInfos2 );

     

      

  3. JavaBean、Map

    //JavaBean-->Map
    try {
                Map params = BeanUtils.describe(orderCarInfo);
    } catch (IllegalAccessException e) {
                e.printStackTrace();
    } catch (InvocationTargetException e) {
                e.printStackTrace();
    } catch (NoSuchMethodException e) {
                e.printStackTrace();
    }
    
    //Map-->JavaBean
    OrderCarInfo orderCarInfo = new OrderCarInfo();
    Map map = new HashMap<>();
            map.put("orderNo","xp001");
            map.put("plateNo","xp002");
            map.put("dispatcher","xp003");
            map.put("parkingSpace","xp004");
            map.put("roadId","xp005");
            try {
                BeanUtils.copyProperties(orderCarInfo,map);
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            } catch (InvocationTargetException e) {
                e.printStackTrace();
            }

     

转载于:https://www.cnblogs.com/xphhh/p/10649713.html

你可能感兴趣的:(json字符串、javaBean、Map之间的相互转换)