Javascript JSON从EJS到JS中的JSON对象
我将EJS与Node.JS一起使用,并将一个JSON对象传递给它,但需要作为页面中的可用对象访问它。我从以下位置获得意外的令牌o错误:Javascript JSON从EJS到JS中的JSON对象,javascript,node.js,mongodb,ejs,Javascript,Node.js,Mongodb,Ejs,我将EJS与Node.JS一起使用,并将一个JSON对象传递给它,但需要作为页面中的可用对象访问它。我从以下位置获得意外的令牌o错误: var initData=JSON.parse(<%-JSON.stringify(list)%>); 试试这个: var initData = JSON.parse('<%-JSON.stringify(list)%>'); var initData=JSON.parse(“”); 或: var initData=; 第一个操作非
var initData=JSON.parse(<%-JSON.stringify(list)%>);
试试这个:
var initData = JSON.parse('<%-JSON.stringify(list)%>');
var initData=JSON.parse(“”);
或:
var initData=;
第一个操作非常有效!您能解释一下为什么单引号使它工作吗?@GeorgeLJSON.parse
将字符串作为参数,并查看您的输出,您正在JSON.parse中传递数组。单引号可以这样做:JSON.parse(“[{”title:“…”}]”)
而不是:JSON.parse([{”title:“…”}])
为什么initData是对象而不是字符串?我们严格化了it@OMGPOP我想也是这样,我猜这与有关。小心,这种方法不适用于任意对象。例如,正则表达式最终成为空对象<代码>{a:/bcd/}
将输出{a:{}
。这是因为正则表达式有序列化问题-。我不知道其他类型是否有这个问题。
var initData = JSON.parse('<%-JSON.stringify(list)%>');
var initData = <%-JSON.stringify(list)%>;