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

作者: 我犟不过你 | 来源:发表于2021-03-26 10:11 被阅读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。

    相关文章

      网友评论

        本文标题:为什么JSON字符串当中会出现反斜杠?

        本文链接:https://www.haomeiwen.com/subject/xvbchltx.html