如何在Jade中使用json对象数组而不是json对象进行服务器端呈现

时间:2017-05-29 15:29:43

标签: javascript arrays json node.js pug

在我的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。

1 个答案:

答案 0 :(得分:0)

对于循环工作有点不同。它传递了键(你的数组),因此你可能需要遍历数组,然后遍历每个键:

var arr=JSON.parse(fromServer);
arr.forEach(function(obj){
  for(key in object){
    console.log(key+":"+object[key]);
  }
 });