2015-10-19 264 views
-1
的字符串值

我的JSON对象是这样的:{ids:[2079]},但是当我试图使用Gson.toJson添加额外的引号JSON

Gson gson = new GsonBuilder().setExclusionStrategies(new GsonExclusionStrategy()).create(); 
gson.toJson(body); 

gson.toJson()来获取字符串值打印"{\"ids\":[2079]}",其中因为预期的行为是{\"ids\":[2079]}

回答

4

我想你是双重调用toJson()方法,它已经是一个字符串。 我的意思是如果你打电话给json()"{ids:[2079]}",那么它会产生"{\"ids\":[2079]}"。所以检查你的对象。

+0

谢谢,我弄错了。 –

0

我经历了同样的问题,但最终我得到了解决方案。 我加了commons-lang3-3.4 JAVA库。 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中删除不需要的字符。