Node.js中如何从外部JSON文件同时获取boys与girls数组?
解决JSON文件加载与数据访问问题
嘿,我来帮你理清这个问题!首先得提个小细节:你的JSON文件存在语法错误,这会导致require加载失败,先把这个修正了才能正常使用:
修正后的JSON内容
{ "boys": [ {"firstName": "George", "lastName": "Kristoferson", "email": "george@gmail.com", "sex": "male"}, {"firstName": "Bill", "lastName": "Madison", "email": "bill@gmail.com", "sex": "male"} ], "girls": [ {"firstName": "Anna", "lastName": "Calixtus", "email": "anna@gmail.com", "sex": "female"}, {"firstName": "Marie", "lastName": "Curie", "email": "marie@gmail.com", "sex": "female"} ] }
(错误点:boys数组最后一个元素的多余逗号、girls里最后一个对象的"female"缺失闭合引号)
访问girls数据的方法
其实你现在的代码var people = require("./people.json");已经把整个JSON对象都加载进来了——people变量同时包含boys和girls两组数据,你之前的误解可能是没注意到这一点。
要单独取出girls数据,只需要通过对象属性访问即可:
var people = require("./people.json"); // 取出girls数据存入变量 var girls = people.girls; // 举个例子:遍历girls数组打印信息 girls.forEach(girl => { console.log(`${girl.firstName} ${girl.lastName} - ${girl.email}`); });
如果你想同时把boys和girls都单独存入变量,也可以用解构赋值简化代码:
var { boys, girls } = require("./people.json"); // 现在boys和girls都是独立的数组变量了 console.log(boys); console.log(girls);
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

