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 :

Conversion données issues d'un fichier en tableau associatif ou/et en JSON [PHP 7]


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2023
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Conversion données issues d'un fichier en tableau associatif ou/et en JSON
    Bonjour,

    J'ai un fichier qui contient (uniquement) des données au format ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    {id:"id1",
    nom:"nom1",
    prenom:"prenom1"},
    {id:"id2",
    nom:"nom2",
    prenom:"prenom2"},
    ...
    Comment faire pour convertir ces données en tableau associatif :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    array(
        array("id"=> "id1","nom" => "nom1","prenom" => "prenom1"),
         array("id"=> "id2","nom" => "nom2","prenom" => "prenom2"),
    ...
        );
    ou en JSON ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [
        {
            "id": 1,
            "nom": "nom1",
            "prenom": "prenom1",
        },
        {
            "id": 2,
            "nom": "nom2",
            "prenom": "prenom2",
        },
       ...
    ]
    Merci d'avance pour votre aide.

  2. #2
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 785
    Points : 3 048
    Points
    3 048
    Par défaut
    Bonjour

    Je ne suis pas sûr de comprendre.

    Ton exemple montre bien un format json pourtant.

    Excepté qu'entre ton premier code (ton exemple) et ton troisième (le json que tu attends), il y a une unique différence : les crochets (si je vois bien sûr mon écran de smartphone).

    Pour convertir un json en array associatif, regarde json_decode avec true comme valeur pour le second paramètre.

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2023
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci pour la réponse mais json_decode avec true fonctionne seulement si les clés sont écrites avec des guillemets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    {"id":"id1",
    "nom":"nom1",
    "prenom":"prenom1"},
    {"id":"id2",
    "nom":"nom2",
    "prenom":"prenom2"},
    ...
    mais ça n'est pas mon cas.

  4. #4
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 785
    Points : 3 048
    Points
    3 048
    Par défaut
    Aurais-tu uniquement les trois clefs que tu donnes en exemple (id, nom, prénom)? Si oui au plus facile, un search and replace ?

    (sur base de ton exemple et si c'est une one-shoot, j'essayerai alors une solution aussi bête que ça)

    Si plus compliqué, il faudrait partir sur des regex pour corriger ton fichier source et mettre entre guillemets le mot qui précède les :

  5. #5
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 201
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 201
    Points : 8 426
    Points
    8 426
    Billets dans le blog
    17
    Par défaut
    {id:"id1",
    nom:"nom1",
    prenom:"prenom1"},
    {id:"id2",
    nom:"nom2",
    prenom:"prenom2"},
    ...
    Cela ressemble à une représentation objet JS, sans les []

    Si l'usage est ponctuel, tu peux faire dans la console JavaScript de ton navigateur :

    > let buffer = [(coller le contenu du fichier)];-
    > JSON.stringify(buffer);-

    Cela te donnera un JSON valide que tu pourras coller dans un fichier .json

  6. #6
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2023
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    L'usage n'est pas ponctuel donc la solution javascript ne me convient pas.

    J'ai une dizaine de clés, la solution avec le str_replace me va bien.

    Merci à tous les deux.

  7. #7
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 201
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 201
    Points : 8 426
    Points
    8 426
    Billets dans le blog
    17
    Par défaut
    L'usage n'est pas ponctuel donc la solution javascript ne me convient pas.
    Dans ce cas ce serait appréciable qu'on te transmette un fichier de données dans un format standard.
    JSON, CSV, XML, et pas un truc bâtard... Les possibilités ne manquent pas.

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

Discussions similaires

  1. [XL-2007] Compilation de données issues de plusieurs fichiers xlsx
    Par Vitalic dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/11/2012, 22h35
  2. charger données issues d'un fichier.m
    Par chronos21 dans le forum MATLAB
    Réponses: 2
    Dernier message: 30/10/2009, 16h30
  3. Réponses: 1
    Dernier message: 30/07/2009, 15h32
  4. [Débutant] conversion cellule issues d'un fichier TXT
    Par kariboubou dans le forum MATLAB
    Réponses: 15
    Dernier message: 25/03/2009, 11h56
  5. Réponses: 3
    Dernier message: 15/05/2007, 09h28

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