Les valeurs d'impression forment un stdObject à l'intérieur d'un tableau à partir de la réponse JSON

StackOverflow https://stackoverflow.com//questions/12699418

Question

Je suis un peu nouveau avec php et JSON, et après avoir cherché une réponse, je n'ai pas réussi à en trouver une, j'espérais que vous pourriez m'aider…

Je travaille sur un rapport avec une réponse JSON La réponse JSON ressemble un peu à ceci:

stdClass Object
(
[FlightInformation] => stdClass Object
    (
   [@size] => 10
     [Itinerary] => Array
       (
         [0] => stdClass Object
           (
            [bookingID] => 123456789
            [creationDate] => 10/04/2012
            [Customer] => stdClass Object
               (
                [email] => someone@aol.com
               )
               [FlightConfirmation] => stdClass Object
                  (
                    [supplierId] => AA
                    [arrivalDate] => 10/04/2012
                    [departureDate] => 10/05/2012
                    [confirmationNumber] => 0987654321
                    [RateInformation] => stdClass Object
                  (
                    [@size] => 1
                    [RateDescription] => stdClass Object
                        (
                         [@promo] => false
                         [ChargeableInfo] => stdClass Object
                             (
                              [@total] => 57.94

Je construis un rapport qui ressemble à ceci.

foreach( $response->FlightInformation->Itinerary as $output) {

    echo $output-> bookingID;
    echo $output-> creationDate;
    echo $output-> arrivalDate;         <<<< won't Print
    echo $output->departureDate;    <<<< won't Print
    echo $output->total;            <<<< won't Print

et quelques éléments supplémentaires… mais tout ce qui se trouve sous un objet à l'intérieur du tableau d'itinéraire ne s'affichera pas.Je n'arrive pas à imprimer les valeurs indiquées, aidez-moi s'il vous plaît…

Acclamations

Était-ce utile?

La solution

C'est parce que l'arrivée, le départ et le total sont des objets eux-mêmes.Vous devriez faire quelque chose comme:

 $output->Customer->FlightConfirmation->arrivalDate;
 $output->Customer->FlightConfirmation->departureDate
 $output->Customer->FlightConfirmation->RateInformation->RateDescription->ChargeableInfo->total;

Autres conseils

Il vous manque un niveau d'imbrication de ces éléments à l'intérieur FlightConfirmation:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top