map转Json和List转JsonArray
//Map<String,Object>转 Json
private JSONObject getJsonObj(Map paras) {
JSONObject jsonObj = new JSONObject();
for (Object key : paras.keySet()) {
Object val = paras.get(key);
if (val==null)
jsonObj.put(key.toString(), val);
else if (val instanceof Map) {
jsonObj.put(key.toString(), getJsonObj((Map) val));
} else if (val instanceof List) {
jsonObj.put(key.toString(), getJsonArr((List) val));
} else if (val.getClass().isArray()) {
List<Object> listObj = Arrays.asList(val);
jsonObj.put(key.toString(), getJsonArr(listObj));
} else {
jsonObj.put(key.toString(), val);
}
}
return jsonObj;
}
//List<Object>转 JsonArr
private JSONArray getJsonArr(List paras) {
JSONArray jsonArr = new JSONArray();
for (Object val: paras) {
if (val==null)
continue;
if (val instanceof Map) {
jsonArr.add(getJsonObj((Map) val));
} else if (val instanceof List) {
jsonArr.add(getJsonArr((List) val));
} else if (val.getClass().isArray()) {
List<Object> listObj = Arrays.asList(val);
jsonArr.add(getJsonArr(listObj));
} else {
jsonArr.add(val);
}
}
return jsonArr;
}
欢迎好评!