gpt4 book ai didi

javascript - JSP 属性 JSON 对象在 Javascript 中删除转义字符

转载 作者:行者123 更新时间:2023-11-30 20:32:48 28 4
gpt4 key购买 nike

我有一个服务器端 Controller ,它正在添加一个属性,该属性是使用 Jackson 转换为 JSON 的 Java 对象:

ObjectMapper mapper = new ObjectMapper();
model.addAttribute("commentObj", mapper.writeValueAsString(commentObject);

我的 commentObject 有一个字段“comments”,其中包含 JSON 需要转义的引号 (")。当我从 commentObject 的 JSP 中进行简单的打印时,一切看起来都不错:

[{"commentId":123,"comments": "this \"test\" is here"}]

如您所见,引号被正确转义 (\")。

我的问题来自此页面上的 javascript,它也需要访问此对象。所以当我运行以下命令时:

<script>
var test = ${commentObj};
</script>

如果我看一下“测试”变量,评论字段现在显示如下:

"this "test" is here" 
vs.
"this \"test\" is here"

这会导致问题,因为 JSON.parse() 将在“test”上抛出错误,因为它不再是正确格式的 JSON。

所以我的问题是,如何在保留转义字符的同时将我的 commentObj 放入 javascript 对象中,以便我可以正确地对它进行 JSON.parse?

最佳答案

抱歉,在生病结束漫长的一天后写的,现在才意识到“测试”var 最终成为一个完全形成的 JS 对象。所以我可以使用它。

也就是说,我仍然想知道这是怎么发生的?在我看来,它应该作为一个 JSON 字符串出现,我需要对其调用 JSON.parse。谁有解释?

关于javascript - JSP 属性 JSON 对象在 Javascript 中删除转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50162939/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com