Imprimir valores de un objeto STD dentro de una matriz de la respuesta de JSON
-
12-12-2019 - |
Pregunta
Im un poco nuevo con PHP y JSON, y después de cavar por una respuesta, no pude encontrar una, esperaba que pudieras ayudarme ...
Estoy trabajando en un informe de una respuesta JSON La respuesta de JSON se ve un poco así:
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
Yo construyo un informe que es así ...
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
y algunos elementos más ... pero cualquier cosa que esté bajo un objeto dentro de la matriz de itinerario no se mostrará ... No puedo imprimir los valores de THE indicados, por favor ayuda ...
vítores
Solución
Es porque la llegada, la salida y el total son objetos en sí mismos.Tendrías que hacer algo así:
$output->Customer->FlightConfirmation->arrivalDate;
$output->Customer->FlightConfirmation->departureDate
$output->Customer->FlightConfirmation->RateInformation->RateDescription->ChargeableInfo->total;
Otros consejos
que falta un nivel de anidación esos elementos están dentro de FlightConfirmation
:
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow