Javascript 从JSON文件访问数据
我想从Nodejs中的JSON文件中读取数据。假设我有以下文件:Javascript 从JSON文件访问数据,javascript,json,node.js,Javascript,Json,Node.js,我想从Nodejs中的JSON文件中读取数据。假设我有以下文件: { "categories": [ { "title": "Music Awards", "subtitle": "Choose the category", "buttons": [{ "type": "postback", "title": "Film Category", "payload": "category_film
{
"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,但没有得到任何结果。奇怪的是,您在控制台中得到了
[object object]
。该数据未达到控制台.log的最大深度(至少在按钮
之前)。如果你这样做
var cat = JSON.parse(fs.readFileSync('f.json', 'utf8'));
console.log("cat: " + cat);
然后您将得到[object object]
,因为字符串连接隐式调用对象上的toString()
,而[object object]
是其表示形式
但是,如果您需要,只需登录即可
console.log(cat);
或
您将获得预期的数据
旁注:
如果需要使用所有数据记录整个对象,可以使用节点的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}));
为我工作。。。请描述(通过添加相关代码)您正在使用cat
做什么。在控制台中,我得到,“[object object]”检查您是否正确获取文件内容fs.readFileSync('selectcat.json','utf8')
Yaa文件正在正确读取,因此没有问题,您实际上可以只require()
一个JSON格式的文件,并返回解析结果。例如:var cat=require('selectcat.json')代码>不获取“按钮”控制台中的数据。log()通常用于调试目的。数据就在那里,只是没有显示出来@RakshitBhatnagar您想对数据做什么?如果你坚持用一种显示整个对象@RakshitBhatnagar的方式来记录答案,只需在按钮上循环即可
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}));