Fah*_*que 32 java linkedhashmap gson
String s = "m\\"+"/m\\/m/m/m/m/m";
LinkedHashMap<String, String> hm = new LinkedHashMap<>();
hm.put("test", s);
System.out.println(hm+" Hash map = "+hm.toString());
Run Code Online (Sandbox Code Playgroud)
精细输出是 {test=m\/m\/m/m/m/m/m} Hash map = {test=m\/m\/m/m/m/m/m}
String s2 = new Gson().toJson(hm.toString());
System.out.println("Json result is "+s2);
Run Code Online (Sandbox Code Playgroud)
输出不好Json result is "{test\u003dm\\/m\\/m/m/m/m/m}"
是GSON要疯了还是我做错了什么吗?反斜杠发生了什么,从哪里u003d出现?我知道很久以前就存在这种性质的错误,但它已经解决了.我该如何解决这个问题?提前致谢.
NIN*_*OOP 81
在=对符号进行编码\u003d..因此你需要使用disableHtmlEscaping() .
您可以使用
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
String s2 = gson.toJson(hm.toString());
Run Code Online (Sandbox Code Playgroud)
对于\/变成\\/问题,解决的办法是
s2.replace("\\\\", "\\");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31751 次 |
| 最近记录: |