将json转map##
/**
* @param content json字符串
* @return 如果转换失败返回null,
*/
public static Map<String, Object> jsonToMap(String content) {
content = content.trim();
Map<String, Object> result = new HashMap<>();
try {
if (content.charAt(0) == '[') {
JSONArray jsonArray = new JSONArray(content);
for (int i = 0; i < jsonArray.length(); i++) {
Object value = jsonArray.get(i);
if (value instanceof JSONArray || value instanceof JSONObject) {
result.put(i + "", jsonToMap(value.toString().trim()));
} else {
result.put(i + "", jsonArray.getString(i));
}
}
} else if (content.charAt(0) == '{'){
JSONObject jsonObject = new JSONObject(content);
Iterator<String> iterator = jsonObject.keys();
while (iterator.hasNext()) {
String key = iterator.next();
Object value = jsonObject.get(key);
if (value instanceof JSONArray || value instanceof JSONObject) {
result.put(key, jsonToMap(value.toString().trim()));
} else {
result.put(key, value.toString().trim());
}
}
}else {
// Log.e("异常", "json2Map: 字符串格式错误");
}
} catch (JSONException e) {
// Log.e("异常", "json2Map: ", e);
result = null;
}
return result;
}
入代码片
将json转换为map
/**把数据源HashMap转换成json
* @param map
*/
public static String hashMapToJson(Map<String, Object> map) {
String string = "{";
for (Iterator it = map.entrySet().iterator(); it.hasNext();) {
Map.Entry e = (Map.Entry) it.next();
string += "'" + e.getKey() + "':";
string += "'" + e.getValue() + "',";
}
string = string.substring(0, string.lastIndexOf(","));
string += "}";
return string;
}