Java 带字符串的GSON问题
notfine输出是Java 带字符串的GSON问题,java,gson,linkedhashmap,Java,Gson,Linkedhashmap,notfine输出是Json结果是“{test\u003dm\\\/m\\/m/m/m}” 是GSON发疯了还是我做错了什么?反斜杠发生了什么变化,该u003d从何处出现?我很久以前就知道有这样一个bug,但它已经被解决了。 我如何解决这个问题? 提前感谢。符号编码为\u003d。因此您需要使用 你可以用 String s2 = new Gson().toJson(hm.toString()); System.out.println("Json result is "+s2);
Json结果是“{test\u003dm\\\/m\\/m/m/m}”
是GSON发疯了还是我做错了什么?反斜杠发生了什么变化,该u003d从何处出现?我很久以前就知道有这样一个bug,但它已经被解决了。
我如何解决这个问题?
提前感谢。符号编码为\u003d。
因此您需要使用
你可以用
String s2 = new Gson().toJson(hm.toString());
System.out.println("Json result is "+s2);
对于\/
变成\\/
问题,解决方案是
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
String s2 = gson.toJson(hm.toString());
因为有些人喜欢吹毛求疵,所以我会给这个问题加上答案(即使它已经被回答并被选为正确答案)
我同意此问题的选择答案,请使用以下代码:
s2.replace("\\\\", "\\");
@Bajrang Hudda询问了\n。。。我最近碰到了这个问题。。。我能够使用以下方法解决此问题:
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
String s2 = gson.toJson(hm.toString());
s2.replace("\\\\", "\\");
再次编码:=
到\u003dm
和\to
\\`如何解决后面的问题。有什么建议吗?关于\n??因为\n有时也在字符串中添加。@Bajarang使用类似于此字符串的base64EncodedData=Base64.encodeToString(数据,Base64.NO\u WRAP);谢谢这对我很有帮助。但就我所知,这并不是对原始问题的回答。@另一个节点,当低于50个代表分时,我无法在问题下为那个家伙添加回答。。。所以我在这里加了另一个回答,起诉我。听着,我只是给你一个友好的暗示。没必要生气。把别人的答案复制粘贴到你的非答案中并不会让情况变得更好。
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
String s2 = gson.toJson(hm.toString());
s2.replace("\\\\", "\\");
Gson gson = new Gson();
String json = (gson.toJson(data)).replaceAll("\\\\n", "\\n");