java解析json数据里面有多余的引号

解析的json数据如下图,但是解析的数据里面有引号,例如下面的id的值是""AllData"",而不是"AllData"

img

用这个方法先筛选一道在解析


/**
     * 去除多余的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都比他强

img

JsonObject 导包哪一个

问题已经解决了,不要用toString()方法将其转化为字符串,用JsonObject自带的getAsString()方法,至于为什么toString()不能达到效果还没仔细研究

String data = JSONObject.getString("data")