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 :

Encoder en json avec php puis décoder le résultat avec javascript


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Encoder en json avec php puis décoder le résultat avec javascript
    Bonjour,

    Je n'arrive pas à encoder un array en php afin d'obtenir un résultat utilisable en javascript

    Pour résumer, j'encode un array en php afin d'obtenir un string json. Ensuite avec javascript j'ai besoin de parser ce string json mais ce lorsque j'essaie JSON.parse(string) j'obtiens une erreur invraisemblable.

    Voici comment je procède:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $test = json_encode( $myArray );
    echo $test;
    Et voici le résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ["1":{"valeur1":"100","valeur2":"200"},"2":{"valeur3":"300","valeur4":"400"}]
    Ensuite j'essaie sans succès de parser ce resultat en javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    let result=JSON.parse(myStringJson);
    Voici l'erreur obtenue dans la console:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Uncaught SyntaxError: Unexpected token : in JSON at position 4
    Je ne comprends pas pourquoi json_encode sort une chaine qui n'est pas utilisable avec JSON.parse?

    Merci de votre aide Tout conseil est bienvenu !

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 756
    Points : 2 990
    Points
    2 990
    Par défaut
    Bonsoir

    Je suis étonné du code JSON que tu donnes.

    Si j'exécute le code ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
     
    $arr[1]['valeur1']='100';
    $arr[1]['valeur2']='200';
     
    $arr[2]['valeur3']='300';
    $arr[2]['valeur4']='400';
     
    echo json_encode($arr);
    Voici ce que j'obtiens:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"1":{"valeur1":"100","valeur2":"200"},"2":{"valeur3":"300","valeur4":"400"}}
    Un JSON valide; contrairement à ce que tu donnes. Chez toi, tu as [ ] comme premier et dernier caractère au lieu de { }.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/07/2017, 15h52
  2. Transformation de JSON en PHP puis de PHP en JSON
    Par Briacp dans le forum Langage
    Réponses: 2
    Dernier message: 20/05/2016, 13h58
  3. Afficher contenu JSON avec JavaScript sans AJAX
    Par glbaa dans le forum Général JavaScript
    Réponses: 23
    Dernier message: 30/11/2011, 17h03
  4. Création de fichier json avec PHP
    Par versus68 dans le forum Langage
    Réponses: 1
    Dernier message: 02/06/2008, 11h56
  5. [AJAX] Récupération d'un fichier JSON avec javaScript
    Par guerin dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/11/2006, 19h05

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