J'ai des données JSON que je dois parcourir. Les données sont dans un fichier intitulé "people.json" qui est structuré comme indiqué ci-dessous:
[{"firstname":"John","lastname":"Smith","age":"40"},{"firstname":"Bill","lastname":"Jones","age":"40"}, ...]
Je veux lire chaque objet de ce fichier et l'enregistrer (j'utilise Mongoose). Voici ce que j'ai jusqu'à présent:
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) {});
}
});
Je ne parviens pas à faire en sorte que cela fonctionne. Qu'est-ce que je fais mal?
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
peut le faire aussi.
fs.readFile('./people.json', 'utf8', function (err,data) {
for(var item of data) {
console.log('item: ', [item.firstname, ...]);
}
});