zoukankan      html  css  js  c++  java
  • Json字符串转对象和转List集合操作

     

    对象POJO和JSON互转

    复制代码
    public class JsonUtil {
        /**
         * JSON 转 POJO
         */
         public static <T> T getObject(String pojo, Class<T> tclass) {
                try {
                    return JSONObject.parseObject(pojo, tclass);
                } catch (Exception e) {
                    log.error(tclass + "转 JSON 失败");
                }
                return null;
         }
         
         /**
          * POJO 转 JSON    
          */
         public static <T> String getJson(T tResponse){
             String pojo = JSONObject.toJSONString(tResponse);
             return pojo;
         }
         
    }
    复制代码

    List集合和JSON互转工具类

    复制代码
    public class JsonListUtil {
        /**
         * List<T> 转 json 保存到数据库
         */
        public static <T> String listToJson(List<T> ts) {
            String jsons = JSON.toJSONString(ts);
            return jsons;
        }
    
        /**
         * json 转 List<T>
         */
        public static <T> List<T> jsonToList(String jsonString, Class<T> clazz) {
            @SuppressWarnings("unchecked")
            List<T> ts = (List<T>) JSONArray.parseArray(jsonString, clazz);
            return ts;
        }
    
    }
    复制代码
    1. /** 
    2.  * JSON字符串自动转换 
    3.  * Created by zkn on 2016/8/22. 
    4.  */  
    5. public class JsonToMapTest01 {  
    6.   
    7.     public static void main(String[] args){  
    8.   
    9.         String str = "{"0":"zhangsan","1":"lisi","2":"wangwu","3":"maliu"}";  
    10.         //第一种方式  
    11.         Map maps = (Map)JSON.parse(str);  
    12.         System.out.println("这个是用JSON类来解析JSON字符串!!!");  
    13.         for (Object map : maps.entrySet()){  
    14.             System.out.println(((Map.Entry)map).getKey()+"     " + ((Map.Entry)map).getValue());  
    15.         }  
    16.         //第二种方式  
    17.         Map mapTypes = JSON.parseObject(str);  
    18.         System.out.println("这个是用JSON类的parseObject来解析JSON字符串!!!");  
    19.         for (Object obj : mapTypes.keySet()){  
    20.             System.out.println("key为:"+obj+"值为:"+mapTypes.get(obj));  
    21.         }  
    22.         //第三种方式  
    23.         Map mapType = JSON.parseObject(str,Map.class);  
    24.         System.out.println("这个是用JSON类,指定解析类型,来解析JSON字符串!!!");  
    25.         for (Object obj : mapType.keySet()){  
    26.             System.out.println("key为:"+obj+"值为:"+mapType.get(obj));  
    27.         }  
    28.         //第四种方式  
    29.         /** 
    30.          * JSONObject是Map接口的一个实现类 
    31.          */  
    32.         Map json = (Map) JSONObject.parse(str);  
    33.         System.out.println("这个是用JSONObject类的parse方法来解析JSON字符串!!!");  
    34.         for (Object map : json.entrySet()){  
    35.             System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());  
    36.         }  
    37.         //第五种方式  
    38.         /** 
    39.          * JSONObject是Map接口的一个实现类 
    40.          */  
    41.         JSONObject jsonObject = JSONObject.parseObject(str);  
    42.         System.out.println("这个是用JSONObject的parseObject方法来解析JSON字符串!!!");  
    43.         for (Object map : json.entrySet()){  
    44.             System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());  
    45.         }  
    46.         //第六种方式  
    47.         /** 
    48.          * JSONObject是Map接口的一个实现类 
    49.          */  
    50.         Map mapObj = JSONObject.parseObject(str,Map.class);  
    51.         System.out.println("这个是用JSONObject的parseObject方法并执行返回类型来解析JSON字符串!!!");  
    52.         for (Object map: json.entrySet()){  
    53.             System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());  
    54.         }  
    55.         String strArr = "{{"0":"zhangsan","1":"lisi","2":"wangwu","3":"maliu"}," +  
    56.                 "{"00":"zhangsan","11":"lisi","22":"wangwu","33":"maliu"}}";  
    57.        // JSONArray.parse()  
    58.         System.out.println(json);  
    59.     }  
  • 相关阅读:
    c#结构体、打他table、excel、csv互转
    WPF 自定义图表(柱状图,曲线图)
    NemaStudio船舶模拟软件下载及破解
    点双连通分量
    HDU4612 Warm up
    边双连通分量
    [Jsoi2010]连通数
    Intern Day73
    Intern Day72
    Intern Day70
  • 原文地址:https://www.cnblogs.com/Jonecmnn/p/7358114.html
Copyright © 2011-2022 走看看