Bonjour,
Je voudrais ajouter un élément à un fichier JSON. J'y arrive mais j'ai un problème de relecture que je ne comprends pas.
Voici le code pour ajouter au fichier JSON
Je viens d'ajouter mini dico, voici l'extrait du fichier json avec l'avant dernier élément et le dernier
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 let fichier = fs.readFileSync(path.resolve(".") +'/src/public/Dicos/' + ledico + '.dico'); var liste = JSON.parse(fichier); . . . var leMot = '{"mot":"' + mot + '", "informations":{"creation": "' + dater() + '", "expression": "' + mot + '", "definition": "' + cherche(tableau, "definition") + '", "infos": "' + cherche(tableau, "infos") + '", "origine": "' + cherche(tableau, "origine") + '", "ethymologie": "' + cherche(tableau, "ethymologie") + '", "image": "' + cherche(tableau, "image") + '","lien": "' + cherche(tableau, "lien")+ '", "note": ' + parseInt(cherche(tableau, "note")) + ', "favoris": ' + favo + ', "synonymes": [' + syArray + '], "source": "' + cherche(tableau, "source") + '", "corrgigeLe": "' + dater() + '"}}'; n = liste.listeMot.push(JSON.parse(leMot)); var dico2 = path.resolve(".") +'/src/public/Dicos/' + ledico + '_corrige.dico' fs.writeFile(dico2, JSON.stringify(liste, null, 4), (err) => { if (err) throw err; console.log('Données sauvées!'); });
Mon programme lit bien le nom mais met une erreur pour informations comme quoi c'est inconnu
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 "corrgigeLe": "2020-05-15T13:01:26.2479918+02:00" } }, { "mot": "Tirant d'eau", "informations": { "creation": "2020-05-15T13:01:26.2479918+02:00", "expression": "Tirant d'eau", "definition": "Différence de hauteur entre la ligne de flottaison et le point le plus bas du bateau. Ne pas confondre avec \"mouillage\" qui s'applique à la voie d'eau. Mentionné \"TE\" sur les guides. Synonyme : enfoncement.", "infos": "", "origine": "", "ethymologie": "", "image": "", "lien": "", "note": 0, "favoris": false, "synonymes": [], "source": "http://www.touedelavilaine.fr/a-decouvrir/lexique-fluvial-batelier", "corrgigeLe": "2020-05-15T13:01:26.2479918+02:00" } }, { "mot": "Mini Dico", "informations": { "creation": "05/05/20 13:45:43", "expression": "Mini Dico", "definition": "Développeur", "infos": "Version Web", "origine": "Nom de programme", "ethymologie": "Petit Dictionnaire", "image": "", "lien": "http://computerherve:3000/dico", "note": 4, "favoris": true, "synonymes": [], "source": "Hervé", "corrgigeLe": "05/05/20 13:45:43" } }
Si quelqu'un peu m'aiguiller ça serai super.
En espérant avoir fournit suffisamment d'informations
Nota : creation et corrgigele ne sont pas utilisés. Même en les changeant ça ne change rien
La correction fonctionne nickel
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 liste.listeMot[n].mot = mot; liste.listeMot[n].informations.creation = cherche(tableau, "creation"); liste.listeMot[n].informations.expression = mot; liste.listeMot[n].informations.definition = cherche(tableau, "definition"); liste.listeMot[n].informations.infos = cherche(tableau, "infos"); liste.listeMot[n].informations.source = cherche(tableau, "source"); liste.listeMot[n].informations.origine = cherche(tableau, "origine"); liste.listeMot[n].informations.ethymologie = cherche(tableau, "ethymologie"); liste.listeMot[n].informations.lien = cherche(tableau, "lien"); liste.listeMot[n].informations.note = parseInt(cherche(tableau, "note")); liste.listeMot[n].informations.favoris = false; if (cherche(tableau, "favoris") == "true") { liste.listeMot[n].informations.favoris = true; } liste.listeMot[n].informations.synonymes = syArray; liste.listeMot[n].informations.image = cherche(tableau, "image"); liste.listeMot[n].informations.corrgigeLe = dater();
Partager