24 votes

créer un objet JSON imbriqué en php ?

Je ne travaille pas beaucoup avec php et je suis un peu flou sur la création d'objets. J'ai besoin de faire une requête webservice envoyant du json et je pense que j'ai couvert cette partie. Avant de pouvoir soumettre les données, je dois créer un objet imbriqué. Je pensais que ce serait trivial en me basant sur mon expérience avec les langages de script basés sur ecma, mais je trouve que la syntaxe est difficile à naviguer. L'objet que je souhaite créer est le suivant.

{ "client": {
    "build": "1.0",
    "name": "xxxxxx",
    "version": "1.0"
    },
    "protocolVersion": 4,
    "data": {
        "distributorId": "xxxx",
        "distributorPin": "xxxx",
        "locale": "en-US"
    }
}

J'ai vu beaucoup d'exemples d'objets plats, mais je n'ai pas encore trouvé d'exemple minimal d'objet imbriqué. Quelle serait la syntaxe php pour l'objet ci-dessus ? Est-ce une chose inhabituelle à faire en php ?

1voto

Code Lღver Points 12482

Utilisez la fonction d'intégration de PHP :

json_encode() ;

cela convertira le tableau en objet JSON.

1voto

Marty Points 3332

Vous pouvez utiliser json_encode pour encoder un tableau php http://php.net/manual/en/function.json-encode.php

$theArray = array('client'= array('build'=>'1.0', 
                                'name'=>'xxxxx', 
                                'version'=>'1.0'
                               ), 
                'protocolVersion'=> 4, 
                'data'=> array('distributorId'=>'xxxx', 
                               'distributorPin'=>'xxxx', 
                               'locale'=>'en-US' 
                               ) 
                );

$theObj = json_encode($theArray);

J'espère que cela vous aidera

Je l'ai posté et j'ai déjà vu des tas de réponses ! :|

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X