我后端用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>
这样就可以避免特殊字符的转义问题了。
如果我的建议对您有帮助、请点击采纳、祝您生活愉快
解决 无用评论 打赏 举报