JSONツール類、操作JSONタイプデータ
1873 ワード
public static JSONObject parseJson(String json){
return JSON.parseObject(json);
}
public static Map<String,Object> toMapFromJsonString(String json){
return JsonUtils.toMap(JsonUtils.parseJson(json));
}
/**
* JSONObjec Map-List
* @param json
* @return
*/
public static Map<String, Object> toMap(JSONObject json){
Map<String, Object> map = new HashMap<String, Object>();
Set<Entry<String, Object>> entrySet = json.entrySet();
for (Iterator<Entry<String, Object>> iter = entrySet.iterator(); iter.hasNext(); ){
Entry<String, Object> entry = iter.next();
String key = entry.getKey();
Object value = entry.getValue();//value
if(value instanceof JSONArray)
map.put((String) key, toList((JSONArray) value));
else if(value instanceof JSONObject)
map.put((String) key, toMap((JSONObject) value));
else
map.put((String) key, value);
}
return map;
}
/**
* JSONArray List
* @param json
* @return
*/
public static List<Object> toList(JSONArray json){
List<Object> list = new ArrayList<Object>();
for (int i=0; i<json.size(); i++){
Object value = json.get(i);
if(value instanceof JSONArray){
list.add(toList((JSONArray) value));
}
else if(value instanceof JSONObject){
list.add(toMap((JSONObject) value));
}
else{
list.add(value);
}
}
return list;
}