JSON字符串转换为Map
转自:https://blog.csdn.net/zknxx/article/details/52281220
本文是利用阿里巴巴封装的FastJSON来转换json字符串的。例子如下:
1 import com.alibaba.fastjson.JSON; 2 import com.alibaba.fastjson.JSONObject; 3 import java.util.Map; 4 5 /** 6 * JSON字符串自动转换 7 * Created by zkn on 2016/8/22. 8 */ 9 public class JsonToMapTest01 { 10 11 public static void main(String[] args){ 12 13 String str = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}"; 14 //第一种方式 15 Map maps = (Map)JSON.parse(str); 16 System.out.println("这个是用JSON类来解析JSON字符串!!!"); 17 for (Object map : maps.entrySet()){ 18 System.out.println(((Map.Entry)map).getKey()+" " + ((Map.Entry)map).getValue()); 19 } 20 //第二种方式 21 Map mapTypes = JSON.parseObject(str); 22 System.out.println("这个是用JSON类的parseObject来解析JSON字符串!!!"); 23 for (Object obj : mapTypes.keySet()){ 24 System.out.println("key为:"+obj+"值为:"+mapTypes.get(obj)); 25 } 26 //第三种方式 27 Map mapType = JSON.parseObject(str,Map.class); 28 System.out.println("这个是用JSON类,指定解析类型,来解析JSON字符串!!!"); 29 for (Object obj : mapType.keySet()){ 30 System.out.println("key为:"+obj+"值为:"+mapType.get(obj)); 31 } 32 //第四种方式 33 /** 34 * JSONObject是Map接口的一个实现类 35 */ 36 Map json = (Map) JSONObject.parse(str); 37 System.out.println("这个是用JSONObject类的parse方法来解析JSON字符串!!!"); 38 for (Object map : json.entrySet()){ 39 System.out.println(((Map.Entry)map).getKey()+" "+((Map.Entry)map).getValue()); 40 } 41 //第五种方式 42 /** 43 * JSONObject是Map接口的一个实现类 44 */ 45 JSONObject jsonObject = JSONObject.parseObject(str); 46 System.out.println("这个是用JSONObject的parseObject方法来解析JSON字符串!!!"); 47 for (Object map : json.entrySet()){ 48 System.out.println(((Map.Entry)map).getKey()+" "+((Map.Entry)map).getValue()); 49 } 50 //第六种方式 51 /** 52 * JSONObject是Map接口的一个实现类 53 */ 54 Map mapObj = JSONObject.parseObject(str,Map.class); 55 System.out.println("这个是用JSONObject的parseObject方法并执行返回类型来解析JSON字符串!!!"); 56 for (Object map: json.entrySet()){ 57 System.out.println(((Map.Entry)map).getKey()+" "+((Map.Entry)map).getValue()); 58 } 59 String strArr = "{{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}," + 60 "{\"00\":\"zhangsan\",\"11\":\"lisi\",\"22\":\"wangwu\",\"33\":\"maliu\"}}"; 61 // JSONArray.parse() 62 System.out.println(json); 63 } 64 }