解析的json数据如下图,但是解析的数据里面有引号,例如下面的id的值是""AllData"",而不是"AllData"
用这个方法先筛选一道在解析
/**
* 去除多余的json转义
* @param json
* @return
*/
public static String getFormatJsonString(String json) {
//先去除多余的转义符号
json = StringEscapeUtils.unescapeJavaScript(json);
//map等其他类型把String类型的值转成json的容易在{}外面有引号,会导致转换出错
//去掉{}两边的引号{}需要\\进行转义,"需要\进行转义
json=json.replaceAll("\"\\[", "\\[");
json=json.replaceAll("\\]\"", "\\]");
return json;
}
不要再用这些东西去接收json解析结果了,实在不愿意,map都比他强
JsonObject 导包哪一个
问题已经解决了,不要用toString()方法将其转化为字符串,用JsonObject自带的getAsString()方法,至于为什么toString()不能达到效果还没仔细研究
String data = JSONObject.getString("data")