我在做什么错了?

时间:2019-07-03 07:20:20

标签: node.js json express

我正在尝试遍历json文件,我在做什么错呢?

index.js file:

router.get('/', function(req, res, next) {
  var file = require('data.json')
  var data = JSON.stringify(file)
  res.render('index', { title: 'test', objs: data });

  console.log(data)
});

index.pug file:




extends layout

block content
  h1= title
  p Welcome to #{title}
  ul
    each obj in objs
      li= obj

它正常工作,但我有这样的东西:

[
{


m
一个
g
e



h
t
t
p

/
/
p
l
一个
c
e
h
o
l
d


t
/
1
5
0
x
5
0

我做错了什么?

3 个答案:

答案 0 :(得分:2)

按如下所示更改您的index.js文件:

router.get('/', function(req, res, next) {
  var data = require('data.json')
  console.log(data)
  return res.render('index', { title: 'test', objs: data });  
});

答案 1 :(得分:1)

您不应将JSON对象转换为字符串。基本上,您需要更改以下行,

  var data = JSON.stringify(file)

  var data = file

希望这会有所帮助!

答案 2 :(得分:0)

var data = require('data.json')
return res.render('index', { title: 'test', products: data });

pug文件:

each product in products
        tr
          td= product._id
          td= product.name
          td= product.sorting

感谢帮助