Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

NodeJS Discussion :

Ajouter des �l�ments JSON dans un fichier et ne pas �craser les anciennes donn�es


Sujet :

NodeJS

  1. #1
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Octobre 2018
    Messages
    41
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 27
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 41
    Par d�faut Ajouter des �l�ments JSON dans un fichier et ne pas �craser les anciennes donn�es
    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

    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 
    }});
    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
     
    [{
        "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
        }
    }]

  2. #2
    R�dacteur

    Avatar de danielhagnoul
    Homme Profil pro
    �tudiant perp�tuel
    Inscrit en
    F�vrier 2009
    Messages
    6 389
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant perp�tuel
    Secteur : Enseignement

    Informations forums :
    Inscription : F�vrier 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par d�faut


    fs ? C'est du node !

    Je crois qu'il faut utiliser : fs.open(path, flags[, mode], callback), avec le flag : 'a+' - Open file for reading and appending. The file is created if it does not exist.

    A v�rifier avec les nodistes.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues � un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Octobre 2018
    Messages
    41
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 27
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 41
    Par d�faut
    Effectivement c'est du node

    Enfaite mon soucis c'est qu'il m'�crase l'ancienne donn�e et update avec la nouvelle donn�e ... (overwrite)

    Mon but est qu'� chaque fois que le code s�ex�cute, ma structure JSON qui est cr�e par d�faut avec des variables, doit �tre ajout� dans un tableau et dans le fichier

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par d�faut
    Salut,

    Citation Envoy� par marcilles Voir le message
    Enfaite mon soucis c'est qu'il m'�crase l'ancienne donn�e et update avec la nouvelle donn�e ... (overwrite)
    Ben apparemment il n'�crase pas il ajoute un objet identique...

    Tu fais deux fois cela :

    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    obj.table.push({"executionDate":date,
        "issueID":key,
        "priority":{
        "jira": priority, 
        "computed":score1
        },
        "expectedValue":{
            "jira": expected, 
            "computed":score2
        }
    })

    Alors si entre temps les variables : date, key, priority, score1... ne changent pas ben c'est normal que tu te retrouves avec deux fois le m�me objet...

Discussions similaires

  1. R�ponses: 1
    Dernier message: 28/04/2016, 21h19
  2. R�ponses: 0
    Dernier message: 02/02/2015, 18h26
  3. R�ponses: 0
    Dernier message: 17/05/2013, 12h06
  4. R�ponses: 2
    Dernier message: 22/09/2010, 11h01
  5. [XML] [D�butant]Comment ajouter des balise html dans un fichier XML
    Par pierrot10 dans le forum Biblioth�ques et frameworks
    R�ponses: 1
    Dernier message: 18/09/2010, 15h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo