zoukankan      html  css  js  c++  java
  • java json字符串转成 Map或List

    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;
    
    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;
    
    
    
    /**
     * 说明 json字符串 转成 Map/List
     * @author xss
     * @date 2013-1-18 10:22:41
     * @mail wuniu2010@126.com
     */
    public class JsonToMap {
    
        public static void main(String[] args) {
            
            //JSONArray
            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"}]";
            JSONArray jsonArray = JSONArray.fromObject(jsonArrayData);
    
            List<Map<String,Object>> mapListJson = (List)jsonArray;
            for (int i = 0; i < mapListJson.size(); i++) {
                Map<String,Object> obj=mapListJson.get(i);
                
                for(Entry<String,Object> entry : obj.entrySet()){
                    String strkey1 = entry.getKey();
                    Object strval1 = entry.getValue();
                    System.out.println("KEY:"+strkey1+"  -->  Value:"+strval1+"
    ");
                }
            }
            
            
            
            // JSONObject 
            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"}}";
            JSONObject jsonObject = JSONObject.fromObject(jsonObjectData);
            
            Map<String, Object> mapJson = JSONObject.fromObject(jsonObject);
            
            for(Entry<String,Object> entry : mapJson.entrySet()){
                Object strval1 = entry.getValue();
                JSONObject jsonObjectStrval1 = JSONObject.fromObject(strval1);
                Map<String, Object> mapJsonObjectStrval1 = JSONObject.fromObject(jsonObjectStrval1);
                System.out.println("KEY:"+entry.getKey()+"  -->  Value:"+entry.getValue()+"
    ");
                for(Entry<String, Object> entry1:mapJsonObjectStrval1.entrySet()){
                    System.out.println("KEY:"+entry1.getKey()+"  -->  Value:"+entry1.getValue()+"
    ");
                }
                
            }
        }
    
    }

    org.json  jar包环境下:(json所需要的jar包:点我下载

    import java.util.Iterator;
    import java.util.Set;
    
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
    /**
     * @date 2013-2-1 10:36:22
     * @author xss
     * @说明 org.json jar包环境下 遍历 不知道外层key的json字符串
     */
    public class JsonTest {
    
        public static void main(String[] args) {
            try {
                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"}]}";
                JSONObject jsonObj = new JSONObject(json);
    
                //方式二
                Iterator it = jsonObj.keys();
                for (int j = 0; it.hasNext(); j++) {
                    String str = it.next().toString();
                    System.out.println(str);
    
                    JSONArray array = new JSONArray(jsonObj.get(str).toString());
                    System.out.println(array);
                    for (int i = 0; i < array.length(); i++) {
                        JSONObject jons = array.getJSONObject(i);
                        System.out.println(jons.get("SX_MC"));
                    }
                }
                System.out.println("tep2");
                
                //方式1
                Set<String> set = jsonObj.keySet();
                for (String str : set) {
                    System.out.println(str);
                    JSONArray array = new JSONArray(jsonObj.get(str).toString());
                    System.out.println(array);
                    for (int i = 0; i < array.length(); i++) {
                        JSONObject jons = array.getJSONObject(i);
                        System.out.println(jons.get("SX_MC"));
                    }
                }
    
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }

    已发表于Iteye

  • 相关阅读:
    Mysql(11)_Mysql权限与安全
    Mysql(10)_存储过程与流程控制
    Java(43)_AWT事件处理挂关闭生效
    6.实现合同测试用例
    6.测试库优化
    5.案例回顾及编写测试用例
    4.测试案例实现代码库与测试用例V2.0
    3.测试案例实现代码库与测试用例
    markdown语法学习
    1.faker批量随机造数据
  • 原文地址:https://www.cnblogs.com/xueshanshan/p/6756676.html
Copyright © 2011-2022 走看看