json字符串转换为多级Map -list-map的形式

时间:2025-03-20 10:50:23

网上找了好多方法都是一级的,由于需要多级map,于是做如下封装


public static Map<String, Object> parseJSON2Map(String jsonStr){  

        //最外层解析  
        if(jsonStr!=null&&("{")&&("}")){
            Map<String, Object> map = new HashMap<String, Object>();  
            
            JSONObject json = (jsonStr);  
            for(Object k : ()){
                
                Object v = (k);   
                //如果内层还是数组的话,继续解析  
                if(v instanceof JSONArray){  
                    List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();  
                    Iterator<JSONObject> it = ((JSONArray)v).iterator();  
                    while(()){  
                        JSONObject json2 = ();  
                        (parseJSON2Map(()));  
                    }  
                    ((), list);  
                } else {  
                    Map<String, Object> m = parseJSON2Map(());
                    if(m==null)
                        ((), v);
                    else
                        ((), m);  
                }  
            }  
            return map;  
        }else{
            return null;
        }
    }