Bonjour,
Je suis en train d'écrire du JSON et de l'ajouter dans un fichier
Mais mon problème est qu'il écrase l'ancienne valeur.
Lorsque j'exécute le script, je dois ajouter la nouvelle valeur au fichier sans écraser.
Je vais récupérer le tableau JSON du fichier, l'ajouter en Javascript, puis écrire le tout dans un fichier
J'utilise uniquement des variables qui peuvent changer.
Merci d'avance pour votre aide
Résultat actuel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 var obj = { table: [] }; obj.table.push({"executionDate":date, "issueID":key, "priority":{ "jira": priority, "computed":score1 }, "expectedValue":{ "jira": expected, "computed":score2 } }) var json = JSON.stringify(obj); fs.writeFile('myjsonfile.json', json, 'utf8', function (err) { if (err) console.error(err) }); fs.readFile('myjsonfile.json', 'utf8', function readFileCallback(err, data){ if (err){ console.log(err); } else { obj = JSON.parse(data); //now it an object obj.table.push({"executionDate":date, "issueID":key, "priority":{ "jira": priority, "computed":score1 }, "expectedValue":{ "jira": expected, "computed":score2 } }); //add some data json = JSON.stringify(obj); //convert it back to json fs.writeFile('myjsonfile.json', json, 'utf8', function (err) { if (err) console.error(err) }); // write it back }});
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 [{ "executionDate": 25 / 03 / 2019, "issueID": 1, "priority": { "jira": important, "computed": 10 }, "expectedValue": { "jira": expected, "computed": 20 } }, { "executionDate": 25 / 03 / 2019, "issueID": 1, "priority": { "jira": important, "computed": 10 }, "expectedValue": { "jira": expected, "computed": 20 } }]
Résultat souhaité:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 [{ "executionDate": 25 / 03 / 2019, "issueID": 1, "priority": { "jira": important, "computed": 10 }, "expectedValue": { "jira": expected, "computed": 20 } }, { "executionDate": 26 / 03 / 2019, "issueID": 2, "priority": { "jira": important, "computed": 20 }, "expectedValue": { "jira": expected, "computed": 30 } }]
Partager