Domanda

Im po 'nuovo con PHP e JSON, e dopo aver scavato per una risposta non sono stato in grado di trovarne uno, speravo se potessi aiutarmi ...

Sto lavorando su un rapporto da una risposta JSON La risposta JSON sembra un po 'così:

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
.

Costruire un rapporto che è come questo ..

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 alcuni altri elementi ... ma tutto ciò che è sotto un oggetto all'interno della matrice de itinerario non mostrerà .. Non riesco a stampare i valori di TES indicati, per favore aiuta ...

Cheers

È stato utile?

Soluzione

Questo perché arrivo, partenza e totale sono gli oggetti stessi.Dovresti fare qualcosa come:

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

Altri suggerimenti

Il tuo livello mancante di nidificazione di quegli elementi sono all'interno FlightConfirmation:

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top