在我的Node.js服务器上,我有一个由MySQL查询给我的JavaScript对象数组。我需要将该数组发送到我的Jade模板,所以我在router.js中执行此操作:
data = JSON.stringify(rows[0]);
res.render('yourUploads', {fromServer:data});
console.log(data)读取如下内容:[{key:val},{key:val},{key:val}]
现在我试图在Jade中迭代这个对象:
- for (object in JSON.parse(fromServer)) {
+posMixin(object.toString())
- }
object.toString()只给我" 0"," 1"," 2" object.val似乎是null。
我认为这是how to render json object in jade and loop through results的副本,但我正在处理这个json数组而不是json。这很像Passing an array to a JSON object for Jade rendering,但我尝试使用mixin并运行服务器端渲染,而不是将其移入JavaScript。
答案 0 :(得分:0)
对于循环工作有点不同。它传递了键(你的数组),因此你可能需要遍历数组,然后遍历每个键:
var arr=JSON.parse(fromServer);
arr.forEach(function(obj){
for(key in object){
console.log(key+":"+object[key]);
}
});