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

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

以下内容部分参考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>

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


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