转:JSON与Map互转

JSON字符串与Map互转

 

 

//一、map转为json字符串

    public static String map2jsonstr(Map<String,?> map){
        return JSONObject.toJSONString(map);
    }

//二、json字符串转Map对象

    public static Map<String,?> jsonstr2map(String jsonstr){
        return JSONObject.parseObject(jsonstr);
    }

//三、json字符串转Map对象

复制代码
public static Map<String, Object> parseJSON2Map(String jsonStr){ 
Map<String, Object> map = new HashMap<String, Object>(); 
JSONObject json = JSONObject.parseObject(jsonStr); 
for(Object k : json.keySet()){ 
Object v = json.get(k); 
if(v instanceof JSONArray){ 
List<Map<String, Object>> list = new ArrayList<Map<String,Object>>(); 
Iterator<Object> it = ((JSONArray)v).iterator(); 
while(it.hasNext()){ 
JSONObject json2 = (JSONObject)it.next(); 
list.add(parseJSON2Map(json2.toString())); 
} 
map.put(k.toString(), list); 
} else { 
map.put(k.toString(), v); 
}

return map; 
}
复制代码

测试:

复制代码
    public static void main(String[] args) {
    
        try {
            
            List list = new ArrayList();
            Map<String,Object> map = new HashMap<String,Object>();
            list.add(1);
            list.add("b");
            map.put("name", "a");
            map.put("age", 12);
            map.put("name", "a");
            map.put("list", list);
            String jsonstr = map2jsonstr(map);
            System.out.println("json字符串:" + jsonstr);
            System.out.println("map对象"+jsonstr2map(jsonstr));
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
复制代码

 

 

 

posted @ 2019-11-01 09:24  胡小华  阅读(5847)  评论(0编辑  收藏  举报