Mr·Sponge 2023-04-12 00:07 采纳率: 0%
浏览 23

后端用modelMap传递JSONString数据,前端接收数据总是给转义

我后端用ModelMap对象.put("key",data) 传递一个JSONString类型数据给前端,前端用 [[${"key"}]] 接收数据。接收到的数据总是给转义。请问怎么解决这个问题,我弄了好久了QAQ,是直接报错,都不给替换字符的机会。

  • 写回答

1条回答 默认 最新

  • 「已注销」 2023-04-12 01:13
    关注

    以下内容部分参考ChatGPT模型:


    这个问题的原因是因为在传递JSON字符串时,特殊字符会被转义,导致前端接收到的数据多了一层转义。解决这个问题可以在后端使用Jackson库将JSON字符串转换成JSON对象,然后通过ModelMap传递该对象,前端通过访问该对象的属性来获取数据。

    具体代码如下:

    后端:

    import com.fasterxml.jackson.databind.ObjectMapper;
    
    ...
    //data为JSON字符串
    ObjectMapper objectMapper = new ObjectMapper();
    Object dataObj = objectMapper.readTree(data);
    modelMap.addAttribute("key", dataObj);
    

    前端:

    <script>
        var data = [[${key}]];
        console.log(data.property); //访问JSON对象的属性
    </script>
    

    这样就可以避免特殊字符的转义问题了。


    如果我的建议对您有帮助、请点击采纳、祝您生活愉快

    评论

报告相同问题?

问题事件

  • 创建了问题 4月12日