(); hm.put("test", -6ren">
gpt4 book ai didi

java - 字符串的 GSON 问题

转载 作者:IT老高 更新时间:2023-10-28 21:02:14 31 4
gpt4 key购买 nike

    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());

精细输出为 {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);

不好输出是 Json 结果是 "{test\u003dm\\/m\\/m/m/m/m/m}"

GSON 发疯了还是我做错了什么? Back Slashes 发生了什么?这个 u003d 是从哪里出现的?我早就知道存在这种性质的错误,但它已经解决了。我该如何解决这个问题?提前致谢。

最佳答案

= 符号被编码为 \u003d。 因此您需要使用 disableHtmlEscaping() .

你可以使用

Gson gson = new GsonBuilder().disableHtmlEscaping().create();
String s2 = gson.toJson(hm.toString());

对于\/变成\\/的问题,解决办法是

s2.replace("\\\\", "\\");

关于java - 字符串的 GSON 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16558709/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com