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 :

Pars object(stdClass) JSON


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 305
    Par défaut Pars object(stdClass) JSON
    Bonjour,

    J'essaye de parser un json après l'avoir décodé avec la fonction json_decode.

    J'ai essayé plusieurs code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $resultat = json_decode($json);
    var_dump(resultat->{'version'});
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $resultat = json_decode($json);
    var_dump(resultat->version);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $resultat = json_decode($json);
    var_dump(resultat['version']);
    Mais sans succès !

    Voilà la sortie de la variable resultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    object(stdClass)#1 (4) { ["version"]=> string(3) "1.0" ["operations"]=> array(6) { [0]=> object(stdClass)#2 (3) { ["verb"]=> string(11) "core/create" ["description"]=> string(16) "Create an object" ["extension"]=> string(12) "CoreServices" } [1]=> object(stdClass)#3 (3) { ["verb"]=> string(11) "core/update" ["description"]=> string(16) "Update an object" ["extension"]=> string(12) "CoreServices" } [2]=> object(stdClass)#4 (3) { ["verb"]=> string(19) "core/apply_stimulus" ["description"]=> string(49) "Apply a stimulus to change the state of an object" ["extension"]=> string(12) "CoreServices" } [3]=> object(stdClass)#5 (3) { ["verb"]=> string(8) "core/get" ["description"]=> string(18) "Search for objects" ["extension"]=> string(12) "CoreServices" } [4]=> object(stdClass)#6 (3) { ["verb"]=> string(11) "core/delete" ["description"]=> string(14) "Delete objects" ["extension"]=> string(12) "CoreServices" } [5]=> object(stdClass)#7 (3) { ["verb"]=> string(16) "core/get_related" ["description"]=> string(50) "Get related objects through the specified relation" ["extension"]=> string(12) "CoreServices" } } ["code"]=> int(0) ["message"]=> string(13) "Operations: 6" } object(stdClass)#8 (3) { ["objects"]=> object(stdClass)#9 (1) { ["Server::1"]=> object(stdClass)#10 (5) { ["code"]=> int(0) ["message"]=> string(0) "" ["class"]=> string(6) "Server" ["key"]=> string(1) "1" ["fields"]=> object(stdClass)#11 (1) { ["name"]=> string(7) "Server1" } } } ["code"]=> int(0) ["message"]=> string(8) "Found: 1" }
    Je vous remercie de votre aide

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    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 647
    Billets dans le blog
    20
    Par défaut
    resultat n'est pas une constante...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($resultat->version);
    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

  3. #3
    Membre éclairé
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 305
    Par défaut
    Erreur de copier coller, j'ai oublié $.

    Mais ça ne marche toujours pas

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    On peut voir la chaine json avant décodage ? (pasque là, ça devrait marcher )
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre éclairé
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 305
    Par défaut
    Citation Envoyé par Celira Voir le message
    On peut voir la chaine json avant décodage ? (pasque là, ça devrait marcher )
    voilà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string(648) "{"version":"1.0","operations":[{"verb":"core\/create","description":"Create an object","extension":"CoreServices"},{"verb":"core\/update","description":"Update an object","extension":"CoreServices"},{"verb":"core\/apply_stimulus","description":"Apply a stimulus to change the state of an object","extension":"CoreServices"},{"verb":"core\/get","description":"Search for objects","extension":"CoreServices"},{"verb":"core\/delete","description":"Delete objects","extension":"CoreServices"},{"verb":"core\/get_related","description":"Get related objects through the specified relation","extension":"CoreServices"}],"code":0,"message":"Operations: 6"}" string(134) "{"objects":{"Server::1":{"code":0,"message":"","class":"Server","key":"1","fields":{"name":"Server1"}}},"code":0,"message":"Found: 1"}"

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Bon j'ai essayé ça et chez moi ça fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $json = '{"version":"1.0","operations":[{"verb":"core\/create","description":"Create an object","extension":"CoreServices"},{"verb":"core\/update","description":"Update an object","extension":"CoreServices"},{"verb":"core\/apply_stimulus","description":"Apply a stimulus to change the state of an object","extension":"CoreServices"},{"verb":"core\/get","description":"Search for objects","extension":"CoreServices"},{"verb":"core\/delete","description":"Delete objects","extension":"CoreServices"},{"verb":"core\/get_related","description":"Get related objects through the specified relation","extension":"CoreServices"}],"code":0,"message":"Operations: 6"}';
    $resultat = json_decode($json);
    echo '<pre>';
    print_r($resultat);
    echo '</pre>';
    Résultat :
    stdClass Object
    (
        [version] => 1.0
        [operations] => Array
            (
                [0] => stdClass Object
                    (
                        [verb] => core/create
                        [description] => Create an object
                        [extension] => CoreServices
                    )
    
                [1] => stdClass Object
                    (
                        [verb] => core/update
                        [description] => Update an object
                        [extension] => CoreServices
                    )
    
                [2] => stdClass Object
                    (
                        [verb] => core/apply_stimulus
                        [description] => Apply a stimulus to change the state of an object
                        [extension] => CoreServices
                    )
    
                [3] => stdClass Object
                    (
                        [verb] => core/get
                        [description] => Search for objects
                        [extension] => CoreServices
                    )
    
                [4] => stdClass Object
                    (
                        [verb] => core/delete
                        [description] => Delete objects
                        [extension] => CoreServices
                    )
    
                [5] => stdClass Object
                    (
                        [verb] => core/get_related
                        [description] => Get related objects through the specified relation
                        [extension] => CoreServices
                    )
    
            )
        [code] => 0
        [message] => Operations: 6
    )
    Et echo $resultat->version; retourne bien 1.0.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

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

Discussions similaires

  1. Problème mapping object Java/JSON
    Par Simvetanylen dans le forum Struts 1
    Réponses: 0
    Dernier message: 25/11/2013, 14h25
  2. Remplacer <applet> par <object>
    Par SPACHFR dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 04/10/2012, 15h18
  3. [Objective-c +JSON-RPC] Discuter avec un serveur
    Par yassine1988 dans le forum Objective-C
    Réponses: 1
    Dernier message: 30/04/2012, 21h06
  4. Element Object dans JSON
    Par dragonmax dans le forum jQuery
    Réponses: 5
    Dernier message: 25/08/2011, 16h21
  5. [AJAX] Écriture par le client [JSON]
    Par Norin dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 30/06/2008, 16h48

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