IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Langage PHP Discussion :

Insert d'une ligne dans un fichier json


Sujet :

Langage PHP

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    février 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2006
    Messages : 101
    Points : 119
    Points
    119
    Par défaut Insert d'une ligne dans un fichier json
    Bonjour,
    J'ai un fichier json possédant une clé

    {
    "tutu":["10","01/10/2022","Essai1"],
    "toto":["20","10/08/2022","Essai2"]
    }
    Je voudrai insérer un nouvel enregistrement dans ce fichier. Après quelques temps de recherche sur le web (array_merge, array_push...), je n'arrive pas à trouver la bonne solution.
    Est-ce que quelqu'un aurait une idée ?
    Merci pour votre aide

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    mars 2005
    Messages
    4 883
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : mars 2005
    Messages : 4 883
    Points : 7 720
    Points
    7 720
    Billets dans le blog
    17
    Par défaut
    Il faut récupérer le contenu du fichier => file_get_contents()
    Transformer le JSON en un tableau PHP => json_decode() (paramètre $associative à true pour obtenir un tableau)
    Effectuer l'opération désirée => Ajout d'un élément en faisant $array[$new_key] = $new_value;.
    Transformer le tableau PHP en JSON => json_encode()
    Ecrire le JSON dans un fichier => file_put_contents()
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    mai 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : mai 2004
    Messages : 1 676
    Points : 2 833
    Points
    2 833
    Par défaut
    Juste une petite remarque, probablement inutile, c'est que l'ordre d'apparition dans un fichier json ne devrait avoir aucune importance. Je devrais pouvoir éditer le fichier avec vi ou notepad sans que cela n'ai un impact sur l'application.
    Christophe (cavo789)
    Mes scripts Open Source : https://github.com/cavo789

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    février 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2006
    Messages : 101
    Points : 119
    Points
    119
    Par défaut
    Ca marche, merci beaucoup Seb, il me manquait la syntaxe $array[$new_key] = $new_value;

  5. #5
    Membre du Club
    Avatar de LAB3W
    Homme Profil pro
    Développeur Web
    Inscrit en
    janvier 2022
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2022
    Messages : 26
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par l.mnu Voir le message
    Ca marche, merci beaucoup Seb, il me manquait la syntaxe $array[$new_key] = $new_value;
    Pour ajouter une ligne style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    array
    {
    "tutu":["10","01/10/2022","Essai1"],
    "toto":["20","10/08/2022","Essai2"]
    } 
     
     
    $array['tonton'] = array();
    $array['tonton'][30];
    $array['tonton'][19/10/2022];
    $array['tonton']['Essaie3'];
    Par contre pour infos : Le JSON qui veut dire "JavaScript Object Notation"

    Je préférais créer mon JSON de cette façon :

    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
    <?php
     
    $mon_json = new stdClass();
    $mon_json->title = 'Mon JSON';
     
    $mon_json->data = array(); // on créait un ARRAY -> une boucle des lignes
     
    // ici faire une boucle (de ta base)
    // 1er ligne que tu récupères 
    $mon_json->data[0] = new stdClass();
    $mon_json->data[0]->id = '10';
    $mon_json->data[0]->date = '01/10/2022';
    $mon_json->data[0]->name = 'tutu';
     
    // 2eme ligne que tu récupères 
    $mon_json->data[1] = new stdClass();
    $mon_json->data[1]->id = '20';
    $mon_json->data[1]->date = '10/08/2022';
    $mon_json->data[1]->name = 'toto';
     
    // 3eme ligne que tu récupères 
    $mon_json->data[2] = new stdClass();
    $mon_json->data[2]->id = '30';
    $mon_json->data[2]->date = '19/10/2022';
    $mon_json->data[2]->name = 'tonton';
     
    //Et après pour afficher les valeurs :
     
    echo $mon_json->title; // Mon JSON
     
    foreach($mon_json->data as $data) {
     echo '<br />Il y a '.$data->name.' avec ID : '.$data->id.' en date : '.$data->date;
    }
     
    ?>
    Comme cela, c'est plus clair pour le développeur etc..

    Salutations,
    Romain

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Python 3.X] Ajout d'une ligne dans un fichier Json
    Par MariemBNM dans le forum Général Python
    Réponses: 13
    Dernier message: 07/10/2019, 23h21
  2. insertion automatique d'une ligne dans un fichier verrouillé
    Par CALLEBOUT dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/07/2011, 00h09
  3. Insertion d'une variable dans un fichier au niveau d'une ligne variable
    Par Erielle dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 04/11/2010, 12h23
  4. [FSO] Effacer une ligne dans un fichier
    Par Johnbob dans le forum ASP
    Réponses: 4
    Dernier message: 30/05/2007, 16h23
  5. Supprimer une ligne dans un fichier
    Par sbeu dans le forum Langage
    Réponses: 3
    Dernier message: 13/05/2003, 10h30

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