1. 程式人生 > >Java Json和Map互轉

Java Json和Map互轉

1.Json轉Map

/**
     * @Author:wangh
     * @Description:json串解析存至map
     * @Date:
     */
    public static Map<String, Object> JsonToMap(String jsonStr){    
        Map<String, Object> map = new HashMap<String, Object>();    
        JSONObject json = JSONObject.fromObject(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<JSONObject> it = ((JSONArray)v).iterator();    
                while(it.hasNext()){    
                    JSONObject json2 = it.next();    
                    list.add(JsonToMap(json2.toString()));    
                }    
                map.put(k.toString(), list);    
            } else {    
                map.put(k.toString(), v);
            }
        }
        return map;
    }

2.Map轉Json

        Map<String, TemplateData> param = new HashMap<String, TemplateData>();
        param.put("first",new TemplateData("你好,你有新的挪車通知!","#696969"));
        param.put("keyword1",new TemplateData("測試資訊","#696969"));
        param.put("keyword2",new TemplateData("10.07","#696969"));
        param.put("keyword3",new TemplateData("2018-10-10","#696969"));
        param.put("remark",new TemplateData("我在這兒等著你回來 等著你回來把那車挪開","#696969"));
        // net.sf.json.JSONObject 將Map轉換為JSON方法
        JSONObject json = JSONObject.fromObject(param);
        System.out.println(json);
         
        // org.json.JSONObject 將Map轉換為JSON方法
        /*JSONObject json =new JSONObject(param);*/