1. 程式人生 > >Json格式字串轉Map

Json格式字串轉Map

public class JsonToMapTest01 {  
  
    public static void main(String[] args){  
  
        String str = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}";  
        //第一種方式  
        Map maps = (Map)JSON.parse(str);  
        System.out.println("這個是用JSON類來解析JSON字串!!!");  
        for (Object map : maps.entrySet()){  
            System.out.println(((Map.Entry)map).getKey()+"     " + ((Map.Entry)map).getValue());  
        }  
        //第二種方式  
        Map mapTypes = JSON.parseObject(str);  
        System.out.println("這個是用JSON類的parseObject來解析JSON字串!!!");  
        for (Object obj : mapTypes.keySet()){  
            System.out.println("key為:"+obj+"值為:"+mapTypes.get(obj));  
        }  
        //第三種方式  
        Map mapType = JSON.parseObject(str,Map.class);  
        System.out.println("這個是用JSON類,指定解析型別,來解析JSON字串!!!");  
        for (Object obj : mapType.keySet()){  
            System.out.println("key為:"+obj+"值為:"+mapType.get(obj));  
        }  
        //第四種方式  
        /** 
         * JSONObject是Map介面的一個實現類 
         */  
        Map json = (Map) JSONObject.parse(str);  
        System.out.println("這個是用JSONObject類的parse方法來解析JSON字串!!!");  
        for (Object map : json.entrySet()){  
            System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());  
        }  
        //第五種方式  
        /** 
         * JSONObject是Map介面的一個實現類 
         */  
        JSONObject jsonObject = JSONObject.parseObject(str);  
        System.out.println("這個是用JSONObject的parseObject方法來解析JSON字串!!!");  
        for (Object map : json.entrySet()){  
            System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());  
        }  
        //第六種方式  
        /** 
         * JSONObject是Map介面的一個實現類 
         */  
        Map mapObj = JSONObject.parseObject(str,Map.class);  
        System.out.println("這個是用JSONObject的parseObject方法並執行返回型別來解析JSON字串!!!");  
        for (Object map: json.entrySet()){  
            System.out.println(((Map.Entry)map).getKey()+"  "+((Map.Entry)map).getValue());  
        }  
        String strArr = "{{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}," +  
                "{\"00\":\"zhangsan\",\"11\":\"lisi\",\"22\":\"wangwu\",\"33\":\"maliu\"}}";  
       // JSONArray.parse()  
        System.out.println(json);  
    }  
}  

parse 和parseObject 區別 :

JSON.parse()返回的結果是Object物件,JSON.parseObject()的返回結果可以是JSONObject(一個Map的實現類)也可以是指定的型別(可以用來處理泛型).JSONObject繼承了JSON,JSONObject中沒有定義parset的方法,它是通過呼叫父類(JSON)中的parse方法進行解析的。