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 :

correction syntaxe json automatique en php [PHP 5.4]


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 84
    Par défaut correction syntaxe json automatique en php
    Bonjour,

    je rencontre un petit soucis concernant le traitement de certains fichier json, en effet certains ont des valeurs trop longues et donc séparées par un '+'

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    {"clef0":"valeur0",
      "clef1":"valeur1"+
         "valeur1_suite1"+
         "valeur1_suite2",
      "clef2":"valeur2",
    }
    et donc je voudrais que la valeur de la "clef1" soit sous la forme "valeur1 valeur1_suite1 valeur1_suite2";

    j'ai essayé avec:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $ma_string=file_get_contents($mon_fichier_json);
    $bar=preg_replace('"+"','',$ma_string);
    mais je dois me planter quelque part vu que je n'arrive pas à l'afficher
    Quelqu'un sait où est mon erreur ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 84
    Par défaut
    où supprimer tout les "\r\n\t" qu'il y a entre "+ et "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string '"{\"clef0\":\"valeur0\";\r\n\t\t\t\t\"clef1\":\"valeur1\"+\r\n\t\t\t\t\"valeur1_suite1\"+\r\n\t\t\t\t\"valeur1_suite2\";\r\n\t\t\t\"clef2\":\"valeur2\";\r\n\t\t\t}"' (length=164)
    sachant que je peux malheureusement en récupérer dans les valeurs de mon tableau json ...

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 646
    Billets dans le blog
    20
    Par défaut
    La question qui se pose, c'est de savoir d'où sort le truc que tu montres. Parce que ce n'est une syntaxe correcte ni en PHP ni en JavaScript et ça ne représente aucunement un objet JSON.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 84
    Par défaut
    juste un var_dump de json_encode($json);

    $json étant le petit fichier json que j'ai affiché juste avant.
    Si j'arrive a modifier le json_encode, je n'aurais qu'a faire un json_decode pour récupérer le bon format

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 84
    Par défaut
    est-il tout simplement possible de supprimer tout les caractères entre "+ et " ainsi que ces deux bornes dans une string ?

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 646
    Billets dans le blog
    20
    Par défaut
    Mais le problème, c'est que ce que tu montres dans ton premier message ne peut pas provenir d'un json_encode(). Donc plutôt que de vouloir réparer les résultats d'un code mal fait, il vaudrait mieux s'efforcer de corriger le code mal fait.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 84
    Par défaut
    plus exactement j'ai ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    "costing.Import.explication" : "You can include a cost breakdown sheet in <b>excel format (.xls or .xlsx)</b>."+
    		"<br> - If this cost breakdown sheet contains blocking errors, it will not be included and you will stay on this page. A list of the cells containing errors will appear."+
    		"<br> - If there isn't any blocking error, the cost breakdown sheet will be saved and will go to the next step (BEING CREATED). You will be redirected on the screen of the cost breakdown sheet."+
    		"<br> - If there is no possible attachment between a data on the sheet and the application's repository (example : non-existent material, supplier not referenced), this data will be deleted. You will have to update the settings of the application, then edit the cost breakdown sheet.",
    en plein milieu d'un code json que je récupère, le + servant a indenter le code mais me les pour faire mon affichage ^^'

    le json est correcte vu qu'il fonctionne pour une application
    et oui j'ai inversé les ',' avec ';' sorry ^^'

  8. #8
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 84
    Par défaut
    Sabotage m'a donné la solution dans un autre post
    j'ai remodifié un petit peu derrière pour avoir exactement ce que je voulais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    preg_replace("#\"[\+]\r\n(\t+)\"#", "",$texte);
    rassemble les lignes avec un + en séparateur

  9. #9
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 3 020
    Par défaut
    Plus sobrement tu peux écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_replace('#"\+\s*"#', '', $texte);

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 646
    Billets dans le blog
    20
    Par défaut
    Bah non... le plus simple, ça reste toujours selon moi de stocker du JSON si on veut du JSON JSON et non un truc qui, une fois interprété, sera susceptible d'être du JSON...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 3 020
    Par défaut
    Dans l'absolu oui, autant produire à la base le bon format. Par contre, j'ignore si notre ami à la main sur la manière dont sont produites ces données.

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

Discussions similaires

  1. retour à la ligne automatique dans php-eclipse
    Par Severance dans le forum Eclipse PHP
    Réponses: 4
    Dernier message: 29/03/2009, 16h14
  2. Réaliser une galerie photo automatique sans php
    Par vallica dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/10/2006, 10h57
  3. saisie-automatique en php
    Par ludovik dans le forum Langage
    Réponses: 3
    Dernier message: 28/07/2006, 16h01
  4. [Tableaux] lien automatique en php
    Par e-m.guillaume dans le forum Langage
    Réponses: 9
    Dernier message: 30/01/2006, 23h44

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