【问题标题】:Not able to parse json string in ejs becuase of single quote in value由于值中的单引号,无法解析 ejs 中的 json 字符串
【发布时间】:2017-09-01 06:29:34
【问题描述】:

我正在将一个 json 字符串变量从 nodejs 传递给 ejs。

例如 stringJson = "{"obj" : "它不工作"}"

我正在使用脚本标签内的 ejs 上检索此值 var stringifiedJson = ''

所以当页面被渲染时,它会给出错误“SyntaxError: missing ; before statement”,因为 stringJson 值包含单引号。

我遇到了一些解决方案,比如我可以用“\'”替换它的单引号,但是在这个解决方案中,我将许多 jsonString 变量从节点传递到 ejs。所以我对所有变量都做同样的事情。

我也在下面的一些解决方案中看到过

<script>
    var stringifiedJson = <%- stringJson%>
</script>

没有包围''。但它显示错误“表达式需要”错误。

还有其他方法可以将 jsonString 解析为 Json 对象吗?

【问题讨论】:

    标签: javascript json node.js ejs


    【解决方案1】:

    类似的东西会起作用:

    &lt;p&gt;stringJson.obj: &lt;%= stringJson.obj %&gt;&lt;/p&gt;

    我认为错误来自服务器响应,试试这个:

    res.render('index.ejs', { stringJson: {"obj": "it's not working"} });

    【讨论】:

    • 感谢您的回答。我检查了错误不是来自服务器。我正在从服务器传递 json 字符串化数据。

      stringJson.obj:

      这不起作用,因为 stringJson 必须在 json 对象中解析。我正在脚本标签中进行操作。
    • 也许这会有所帮助:stackoverflow.com/questions/28603658/…
    猜你喜欢
    • 1970-01-01
    • 2020-01-25
    • 1970-01-01
    • 2016-07-02
    • 2023-03-03
    • 2015-03-27
    • 1970-01-01
    • 2013-12-07
    • 2019-10-22
    相关资源
    最近更新 更多