【发布时间】:2016-07-24 21:08:58
【问题描述】:
我正在使用 twitter 节点模块使用 api 检索搜索并将它们放入存储在名为“tweets”的变量中的对象数组中,如下所示:
[ { created_at: 'Sun Jul 24 20:32:34 +0000 2016',
text: '2 Timothy 1:7 #nofear #power #love #sound-mind',
user:
{ id: 90281227,
name: 'Anavella',
screen_name: 'anavellar' } },
{ created_at: 'Sun Jul 24 20:32:34 +0000 2016',
text: '????????????????Look, then, that the light in you is not darkness.Lucas 11:35???????????????? #Love,
user:
{ id: 197893427,
name: 'Sandra Melanny Rojas',
screen_name: 'MelannySan' } } ]
当我在控制台上打印出来时。我正在使用以下代码行渲染视图:
res.render('index', { title: 'Express', data: JSON.stringify(tweets) });
在玉模板上我有这样的东西:
block content
h1= title
p Welcome to #{title}
-var jsonObj = !{JSON.parse(data)}
if jsonObj
ul
each tweet, i in jsonObj
li= tweet
但我收到了意外的令牌错误。
基本上,我要做的是将我在 index.js 中创建的对象数组传递给 index.jade 视图,并能够遍历对象数组,以便我可以在视图中显示结果.
更新
我从 JSON.parse(data) 中删除了 !{}
-var jsonObj = JSON.parse(data)
最终消除了意外的令牌错误。在这种情况下,我仍然收到一条错误消息,指出“JSON 输入意外结束”,指的是我刚刚编辑的行。
【问题讨论】:
-
1) 你确定数组需要被解析为 JSON 吗? 2)你试过解析控制器中的数据吗?
-
我在将它传递到玉视图之前对其进行了字符串化,这就是我解析它的原因。我已经尝试在控制器中解析它,它会注销我放在上面的示例数组。 @pdoherty926
-
您应该能够将数组传递到视图,而无需对其进行字符串化/解析。
标签: json node.js express twitter pug