Imprimir valores formam um stdObject dentro de um Array da resposta JSON
-
12-12-2019 - |
Pergunta
Sou meio novo em php e JSON, e depois de procurar uma resposta não consegui encontrar uma, esperava que você pudesse me ajudar…
Estou trabalhando em um relatório de uma resposta JSON que a resposta JSON parece um pouco assim:
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
Estou construindo um Relatório assim.
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
e mais alguns elementos… mas qualquer coisa que esteja sob um objeto dentro do Itinerary Array não será exibido.Não consigo imprimir os valores indicados, por favor me ajudem…
Saúde
Solução
Isso porque a chegada, a partida e o total são objetos em si.Você teria que fazer algo como:
$output->Customer->FlightConfirmation->arrivalDate;
$output->Customer->FlightConfirmation->departureDate
$output->Customer->FlightConfirmation->RateInformation->RateDescription->ChargeableInfo->total;
Outras dicas
Você está faltando um nível de aninhamento desses elementos dentro FlightConfirmation
:
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow