我对php和JSON有点陌生,在挖掘了一个响应之后,我找不到一个,我希望你能帮助我…

我正在处理来自JSON响应的报告 JSON响应看起来有点像这样:

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

我构建的报告是这样的。.

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

和一些更多的元素......但是任何在数组内的对象下的东西都不会显示。.我无法打印指示的值,请帮助…

干杯!

有帮助吗?

解决方案

是因为到达,出发和总数是对象本身。你必须做一些这样的事情:

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

其他提示

你缺少的嵌套级别这些元素在里面 FlightConfirmation:

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top