我想从Nodejs中的JSON文件中读取数据。假设我有以下文件:
{
"categories": [
{
"title": "Music Awards",
"subtitle": "Choose the category",
"buttons": [{
"type": "postback",
"title": "Film Category",
"payload": "category_film"
}, {
"type": "postback",
"title": "Upcoming Category",
"payload": "category_upcoming"
},{
"type": "postback",
"title": "Technical Category",
"payload": "category_technical"
}
]
}
]
}
我已阅读并解析了该文件。
var cat = JSON.parse(fs.readFileSync('selectcat.json', 'utf8'));
现在我正在尝试cat.categories但是没有得到任何东西。
答案 0 :(得分:2)
您在控制台中获得[object Object]
很奇怪。该数据未达到console.log
的最大深度(至少在buttons
之前)。如果您执行类似
var cat = JSON.parse(fs.readFileSync('f.json', 'utf8'));
console.log("cat: " + cat);
然后你得到[object Object]
因为你的字符串连接在对象上隐式调用toString()
,而[object Object]
是它的表示。
但是,如果你,只需记录
console.log(cat);
或
console.log("cat:", cat); // mind the comma
你会得到你期望的数据。
旁注:
如果您需要使用所有数据记录整个对象,可以使用节点util
:
const fs = require("fs");
const util = require("util");
let cat = JSON.parse(fs.readFileSync('selectcat.json', 'utf8'));
console.log(util.inspect(cat, {showHidden: false, depth: null}));