gpt4 book ai didi

json - 无法读取未定义的node.js的属性 'length'

转载 作者:太空宇宙 更新时间:2023-11-03 23:08:45 25 4
gpt4 key购买 nike

我有一些 JSON 传递到 Node.js,我正在尝试解析它并将其显示在页面上。然而,在 Stack Overflow 上搜索并尝试各种解决方案(当前正在阅读 this )后,我收到了此错误:

TypeError: D:\Programming\node\yale\views\index.jade:10
8| //- p= post.comments[1].data
9| each comment in post.comments
> 10| each text in comment.data
11| p= text.from.name
12|
13|

Cannot read property 'length' of undefined
at $$l (eval at <anonymous> (D:\Programming\node\yale\node_modules\jade\lib\jade.js:172:8), <anonymous>:122:31)
at $$l (eval at <anonymous> (D:\Programming\node\yale\node_modules\jade\lib\jade.js:172:8), <anonymous>:153:4)
at eval (eval at <anonymous> (D:\Programming\node\yale\node_modules\jade\lib\jade.js:172:8), <anonymous>:160:4)
at eval (eval at <anonymous> (D:\Programming\node\yale\node_modules\jade\lib\jade.js:172:8), <anonymous>:301:4)
at eval (eval at <anonymous> (D:\Programming\node\yale\node_modules\jade\lib\jade.js:172:8), <anonymous>:311:21)
at res (D:\Programming\node\yale\node_modules\jade\lib\jade.js:173:38)
at Object.exports.render (D:\Programming\node\yale\node_modules\jade\lib\jade.js:269:10)
at Object.exports.renderFile (D:\Programming\node\yale\node_modules\jade\lib\jade.js:305:18)
at View.exports.renderFile [as engine] (D:\Programming\node\yale\node_modules\jade\lib\jade.js:290:21)
at View.render (D:\Programming\node\yale\node_modules\express\lib\view.js:76:8)

这是我的 JSON:

[
{
"id": "362285220481827_740014816042197",
"from": {
"id": "1677018201",
"name": "ABC"
},
"message": "Yo!",


"comments": {
"data": [
{
"id": "740018622708483",
"from": {
"id": "100003969443486",
"name": "XTZ"
},
"message": "Hey!",
"can_remove": false,
"created_time": "2014-06-14T17:18:48+0000",
"like_count": 0,
"user_likes": false
}
],
"paging": {
"cursors": {
"after": "NzQ0MTMxNTc1NjMwNTIx",
"before": "NzQwMDE4NjIyNzA4NDgz"
}
}
}
}
]

索引.jade

扩展布局

block content
each post in datas
div(id='post')
p= post.from.name
p= post.message
//- p= post.comments[1].data
each comment in post.comments
each text in comment.data
p= text.from.name

索引.js

var express = require('express');
var router = express.Router();
var fs = require('fs');
var path = require('path');

var file = '../public/sample.json';
var filePath = path.join(__dirname, '../public/sample.json');
/* GET home page. */
router.get('/', function(req, res) {
fs.readFile(filePath, 'utf8', function(err, data) {
if(err) {
console.log(err);
} else {
data = JSON.parse(data);
res.render('index', { datas: data });
console.log(data);
}

});

});

module.exports = router;

我的问题是,如何检索 Comments 对象内的数据?感谢您的帮助!

最佳答案

我认为您想要迭代帖子数据,而不是对象本身。

each comment in post.comments.data
p= comment.from.name

关于json - 无法读取未定义的node.js的属性 'length',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25174052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com