如何在JSON中访问数组并在Jade中迭代

时间:2016-03-22 04:35:16

标签: javascript json node.js express pug

这是我的json:

{
 "Meals": {
    "title": "All the meals",
    "lunch": ["Turkey Sandwich", "Chicken Quesadilla", "Hamburger and Fries"]
 }
}

我正在尝试将数组传递给我的jade视图,并将每个数组迭代到选择下拉列表

这是我的服务器代码:

var express = require('express');
var router = express.Router();
var data = require('../mock/data.json');

var dataLists = Object.keys(data).map(function(value){
  return data[value]
});

/* GET home page. */
router.get('/', function(req, res, next) {  
    res.render('index', { title: 'Express', data: dataLists, dataJSON: data });
});

在我的玉视图中,我传递了

!{dataJSON} // This returns [object Object]

有没有办法通过对象键???

访问数组
!{dataJSON.Meals.lunch}

1 个答案:

答案 0 :(得分:2)

使用以下内容访问 jade 模板的午餐数组:

p #{dataJSON.Meals.lunch}

其中p是段落标记。

是的,您可以像这样迭代数组:

  form (action="someAction")
   select (name="lunch")
    each val in dataJSON.Meals.lunch
     option (value= val)= val

有关详细信息,请参阅:Iteration in Jade