Gson.toJson为JSON的字符串值添加额外的引号

时间:2015-10-19 06:33:07

标签: android json gson

我的JSON对象就像:{ids:[2079]},但当我尝试使用

获取字符串值时
 Gson gson = new GsonBuilder().setExclusionStrategies(new GsonExclusionStrategy()).create();
 gson.toJson(body);

gson.toJson()正在打印"{\"ids\":[2079]}",其中预期行为为{\"ids\":[2079]}

2 个答案:

答案 0 :(得分:4)

我认为你是双重调用toJson()方法,它已经是一个String了。 我的意思是如果你在"{ids:[2079]}"上调用json(),那么它将产生"{\"ids\":[2079]}"。所以检查你的对象。

答案 1 :(得分:0)

我遇到了同样的问题,但最终我得到了解决方案。 我添加了commons-lang3-3.4 JAVA Library。download library

并使用了示例代码。

String varibleString = StringEscapeUtils.unescapeJava(your JSON response string);
varibleString = varibleString .substring(1, varibleString .length() - 1);           
        try {
            json = new JSONObject(varibleString );
             }catch(Exception e)
              { 
                 e.printStackTrace();
               }

StringEscapeUtils.unescapeJava(您的JSON响应字符串); 此方法将帮助您从JSON Strting中删除不需要的字符。