gpt4 book ai didi

javascript - 在作为 EJS 模板传递以查看的字符串化 JSON 中转义单引号

转载 作者:行者123 更新时间:2023-11-30 16:13:05 26 4
gpt4 key购买 nike

我有一个 NodeJS 应用程序,它使用 EJS 模板将变量从服务器注入(inject)到 View 中。我在处理特定值时遇到问题,该值是一个包含对象的数组,其值可能包含撇号。传递给 JSON.parse 时,我必须将 EJS 模板字符串用单引号括起来,结果,撇号被混淆为传递给 JSON.parse 的字符串的末尾。我试过转义撇号但没有运气。

<script>
window.foo = JSON.parse('<%- JSON.stringify([{"bar": "baz's lorem ipsum"}]) %>');
</script>

解释为:

<script>
// the string is cut off between the first quote & baz's apostrophe
window.foo = JSON.parse('[{"bar": "baz's lorem ipsum"}]');
</script>

最佳答案

JSON.stringify 返回对象的有效 JSON 文本表示。你不需要解析它:

<script>
window.foo = <%- JSON.stringify([{"bar": "baz's lorem ipsum"}]) %>;
</script>

关于javascript - 在作为 EJS 模板传递以查看的字符串化 JSON 中转义单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35930197/

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