8287 sujets

Développement web côté serveur, CMS

Bonjour, j'ai un fichier movies.json et j'aimerais que dès que je lance mon programme, toutes les données de movies.json soient transférées dans un fichier movies.out.json. Cependant, j'aimerais ajouté "test" à la fin des objets "title" dans le fichier movies.out.json.

Mon code actuel :

fs.readFile('movies.json', { encoding: 'utf8' }, function (err, data) {
        if (err) return console.error(err);
        fs.writeFile('movies.out.json', data, function (erreur) {
            if (erreur) {
                console.log(erreur)
            }
        })
    });


movies.json :

{"id":"287947","title":"Shazam!","genres":["Action","Comedy","Fantasy"]},
{"id":"299537","title":"Captain Marvel","genres":["Action","Adventure","Science Fiction"]},

Modifié par heraclys (18 Jan 2021 - 19:28)
Modérateur
Bonjour,

Juste après la ligne :
if (err) return console.error(err);

1) tu transformes data en un objet
let obj = JSON.parse(data);

2) tu fais toutes les transformations souhaitées sur l'objet (je n'ai pas compris ce que tu souhaitais exactement comme transformation)

3) tu transformes l'objet en json
data = JSON.stringify(obj);

Et ensuite, il n'y a plus qu'à faire le fs.writeFile() et la suite.

Amicalement,
Modifié par parsimonhi (13 Jan 2021 - 17:38)
Meilleure solution