我怎样才能通过一个JSON对象的数组循环?

我有JSON数据,我需要循环。 数据在标题为“people.json”的文件中,结构如下:

[{"firstname":"John","lastname":"Smith","age":"40"},{"firstname":"Bill","lastname":"Jones","age":"40"}, ...] 

我想读取这个文件中的每个对象并保存(我使用mongoose)。 这是我到目前为止:

 var fs = require('fs'); var Person = require('../models/people'); fs.readFile('./people.json', 'utf8', function (err,data) { var i; for(i = 0; i < data.length; i++) { var newPerson = new Person(); newPerson.firstname = data[i].firstname; newPerson.lastname = data[i].lastname; newPerson.age = data[i].age; newPerson.save(function (err) {}); } }); 

我无法得到这个工作,虽然。 我究竟做错了什么?

 fs.readFile('./people.json', 'utf8', function (err,data) { data = JSON.parse(data); // you missed that... for(var i = 0; i < data.length; i++) { var newPerson = new Person(); newPerson.firstname = data[i].firstname; newPerson.lastname = data[i].lastname; newPerson.age = data[i].age; newPerson.save(function (err) {}); } }); 

ES6 for..of也可以做到这一点。

 fs.readFile('./people.json', 'utf8', function (err,data) { for(var item of data) { console.log('item: ', [item.firstname, ...]); } });