Java 进阶JVM · Java虚拟机原理 · JVM上语言·框架· 生态系统java学习快到碗里来

为什么JSON字符串当中会出现反斜杠?

2021-03-26  本文已影响0人  我犟不过你

相信很多小伙伴在使用json的过程中,会发现有时候json中会出现反斜杠,是不是很奇怪这个问题?

我使用的fastjson。

通过下面的小例子来看下:

public static void main(String[] args) {
    Map<String,Object> map = new HashMap<>();
    map.put("personalService","个人");
    map.put("userGroupService","用户组");
    map.put("territoryService","地域");
    map.put("organizationService","组织机构");
    System.out.println(JSONObject.toJSONString(map));
    System.out.println(JSONObject.toJSONString(JSONObject.toJSONString(map)));
}

执行结果:

{"personalService":"个人","territoryService":"地域","organizationService":"组织机构","userGroupService":"用户组"}
"{\"personalService\":\"个人\",\"territoryService\":\"地域\",\"organizationService\":\"组织机构\",\"userGroupService\":\"用户组\"}"

分析:
1)首先我们组装一个map
2)将map进行序列化进行输出,发现没有问题
3)将map进行序列化,再次进行序列化,发现反斜杠出现了

总结:
其实就是我们对map或者对象进行了两次的序列化。说白了就是进行了两次的toJSONString。

上一篇下一篇

猜你喜欢

热点阅读