JSON NodeJS 和 EJS 的字符串化问题

JSON stringify issue with NodeJS and EJS

我正在做这个

var o = <%- JSON.stringify(object) %>;

在具有以下输出的代码中

var o = {"_id":"57bafa202acb57b8ab000013","status":"incomplete","title":"<script>alert(1);</script>","updated_at":"2016-08-22T18:42:00+05:30","id":"57bafa202acb57b8ab000013"};

以及以下错误。

Uncaught SyntaxError: Invalid or unexpected token

object 中有一个带有“”的标题属性。 我该如何处理?

您需要替换 <,例如使用 Unicode 转义:

var o = <%- JSON.stringify(object).replace(/</g, '\u003c') %>;