现在的位置: 首页 > 综合 > 正文

json字符串转成 Map/List

2018年08月18日 ⁄ 综合 ⁄ 共 5246字 ⁄ 字号 评论关闭

json所需要的jar包,如有需要,见附件。

 

Java代码  收藏代码
  1. package jsonToMap;  
  2.   
  3. import java.util.List;  
  4. import java.util.Map;  
  5. import java.util.Map.Entry;  
  6.   
  7. import net.sf.json.JSONArray;  
  8. import net.sf.json.JSONObject;  
  9.   
  10.   
  11.   
  12. /** 
  13.  * 说明 json字符串 转成 Map/List 
  14.  * @author xss 
  15.  * @date 2013-1-18 10:22:41 
  16.  * @mail wuniu2010@126.com 
  17.  */  
  18. public class JsonToMap {  
  19.   
  20.     public static void main(String[] args) {  
  21.           
  22.         //JSONArray  
  23.         String jsonArrayData="[{\"a1\":\"12\",\"b1\":\"112\",\"c1\":\"132\",\"d1\":\"134\"},{\"a2\":\"12\",\"b2\":\"112\",\"c2\":\"132\",\"d2\":\"134\"},{\"a3\":\"12\",\"b3\":\"112\",\"c3\":\"132\",\"d3\":\"134\"}]";  
  24.         JSONArray jsonArray = JSONArray.fromObject(jsonArrayData);  
  25.   
  26.         List<Map<String,Object>> mapListJson = (List)jsonArray;  
  27.         for (int i = 0; i < mapListJson.size(); i++) {  
  28.             Map<String,Object> obj=mapListJson.get(i);  
  29.               
  30.             for(Entry<String,Object> entry : obj.entrySet()){  
  31.                 String strkey1 = entry.getKey();  
  32.                 Object strval1 = entry.getValue();  
  33.                 System.out.println("KEY:"+strkey1+"  -->  Value:"+strval1+"\n");  
  34.             }  
  35.         }  
  36.           
  37.           
  38.           
  39.         // JSONObject   
  40.         String jsonObjectData="{\"data1\":{\"a1\":\"12\",\"b1\":\"112\",\"c1\":\"132\",\"d1\":\"134\"},\"data2\":{\"a2\":\"12\",\"b2\":\"112\",\"c2\":\"132\",\"d2\":\"134\"},\"data3\":{\"a3\":\"12\",\"b3\":\"112\",\"c3\":\"132\",\"d3\":\"134\"}}";  
  41.         JSONObject jsonObject = JSONObject.fromObject(jsonObjectData);  
  42.           
  43.         Map<String, Object> mapJson = JSONObject.fromObject(jsonObject);  
  44.           
  45.         for(Entry<String,Object> entry : mapJson.entrySet()){  
  46.             Object strval1 = entry.getValue();  
  47.             JSONObject jsonObjectStrval1 = JSONObject.fromObject(strval1);  
  48.             Map<String, Object> mapJsonObjectStrval1 = JSONObject.fromObject(jsonObjectStrval1);  
  49.             System.out.println("KEY:"+entry.getKey()+"  -->  Value:"+entry.getValue()+"\n");  
  50.             for(Entry<String, Object> entry1:mapJsonObjectStrval1.entrySet()){  
  51.                 System.out.println("KEY:"+entry1.getKey()+"  -->  Value:"+entry1.getValue()+"\n");  
  52.             }  
  53.               
  54.         }  
  55.     }  
  56.   
  57. }  

 

 

org.json  jar包环境下

Java代码  收藏代码
  1. import java.util.Iterator;  
  2. import java.util.Set;  
  3.   
  4. import org.json.JSONArray;  
  5. import org.json.JSONException;  
  6. import org.json.JSONObject;  
  7. /** 
  8.  * @date 2013-2-1 10:36:22 
  9.  * @author xss 
  10.  * @说明 org.json jar包环境下 遍历 不知道外层key的json字符串 
  11.  */  
  12. public class JsonTest {  
  13.   
  14.     public static void main(String[] args) {  
  15.         try {  
  16.             String json = "{\"1293142@1098820@1211867_1083940_1293396_1148650\":[{\"FS_ID\":\"1293396\",\"SX_MC\":\"李四\",\"YFS_ID\":\"1293142\",\"SZ_ID\":\"1148650\",\"SX_Z\":\"803932\"}],\"1293142@1098820@1211867_1083940_1293396_1097084\":[{\"FS_ID\":\"1293396\",\"SX_MC\":\"李四\",\"YFS_ID\":\"1293142@1084106@1103027\",\"SZ_ID\":\"1097084\",\"SX_Z\":\"124\"}],\"1293142@1098820@1211867_1083940_1293331_1148650\":[{\"FS_ID\":\"1293331\",\"SX_MC\":\"张三\",\"YFS_ID\":\"1293142\",\"SZ_ID\":\"1148650\",\"SX_Z\":\"1005240\"}],\"1293142@1098820@1211867_1083940_1293331_1097084\":[{\"FS_ID\":\"1293331\",\"SX_MC\":\"张三\",\"YFS_ID\":\"1293142@1084106@1103027\",\"SZ_ID\":\"1097084\",\"SX_Z\":\"204\"}],\"1293142@1098820@1211867_1083940_1284806_1148650\":[{\"FS_ID\":\"1284806\",\"SX_MC\":\"王小二\",\"YFS_ID\":\"1293142\",\"SZ_ID\":\"1148650\",\"SX_Z\":\"513475\"}],\"1293142@1098820@1211867_1083940_1284806_1097084\":[{\"FS_ID\":\"1284806\",\"SX_MC\":\"王小二\",\"YFS_ID\":\"1293142@1084106@1103027\",\"SZ_ID\":\"1097084\",\"SX_Z\":\"145\"}],\"1293142@1098820@1211867_1083940_1293461_1148650\":[{\"FS_ID\":\"1293461\",\"SX_MC\":\"朱重八\",\"YFS_ID\":\"1293142\",\"SZ_ID\":\"1148650\",\"SX_Z\":\"339040\"}],\"1293142@1098820@1211867_1083940_1293461_1097084\":[{\"FS_ID\":\"1293461\",\"SX_MC\":\"朱重八\",\"YFS_ID\":\"1293142@1084106@1103027\",\"SZ_ID\":\"1097084\",\"SX_Z\":\"52\"}]}";  
  17.             JSONObject jsonObj = new JSONObject(json);  
  18.   
  19.             //方式二  
  20.             Iterator it = jsonObj.keys();  
  21.             for (int j = 0; it.hasNext(); j++) {  
  22.                 String str = it.next().toString();  
  23.                 System.out.println(str);  
  24.   
  25.                 JSONArray array = new JSONArray(jsonObj.get(str).toString());  
  26.                 System.out.println(array);  
  27.                 for (int i = 0; i < array.length(); i++) {  
  28.                     JSONObject jons = array.getJSONObject(i);  
  29.                     System.out.println(jons.get("SX_MC"));  
  30.                 }  
  31.             }  
  32.             System.out.println("tep2");  
  33.               
  34.             //方式1  
  35.             Set<String> set = jsonObj.keySet();  
  36.             for (String str : set) {  
  37.                 System.out.println(str);  
  38.                 JSONArray array = new JSONArray(jsonObj.get(str).toString());  
  39.                 System.out.println(array);  
  40.                 for (int i = 0; i < array.length(); i++) {  
  41.                     JSONObject jons = array.getJSONObject(i);  
  42.                     System.out.println(jons.get("SX_MC"));  
  43.                 }  
  44.             }  
  45.   
  46.         } catch (JSONException e) {  
  47.             e.printStackTrace();  
  48.         }  
  49.     }  
  50. }  

转载于:http://wuniu2010.iteye.com/blog/1771934

抱歉!评论已关闭.