• 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

  • 相关阅读:
    [React] {svg, css module, sass} support in Create React App 2.0
    [NPM] npm check to update the dependencies
    [RxJS] `add` Inner Subscriptions to Outer Subscribers to `unsubscribe` in RxJS
    [RxJS] Implement RxJS `concatMap` by Waiting for Inner Subscriptions to Complete
    [React] PureComponent in React
    [RxJS] Implement RxJS `switchMap` by Canceling Inner Subscriptions as Values are Passed Through
    [RxJS] Implement RxJS `mergeMap` through inner Observables to Subscribe and Pass Values Through
    [RxJS] Chain RxJS Operators Together with a Custom `pipe` Function using Array.reduce
    [RxJS] Implement the `map` Operator from Scratch in RxJS
    [RxJS] Create a Reusable Operator from Scratch in RxJS
  • 原文地址:https://www.cnblogs.com/xueshanshan/p/6756676.html
Copyright © 2020-2023  润新知