Les valeurs d'impression forment un stdObject à l'intérieur d'un tableau à partir de la réponse JSON
-
12-12-2019 - |
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
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
: