PHP 코드를 통해 JSON 데이터 가져 오기

산딥 티 와리

메서드 이름 : GetAvaiillabiilliity

 $mySOAP = <<<EOD
{

        "Authentication": {
            "LoginId": "username",
            "Password": "password"

        },

    "AvailabilityInput":{
        "BookingType":"O",
        "JourneyDetails":[{
            "Origin":"BOM",
            "Destination":"PNQ",
            "TravelDate":"10/30/2016"
        }],
        "ClassType":"Economy",
        "AirlineCode":"",
        "AdultCount":1,
        "ChildCount":0,
        "InfantCount":0,
        "ResidentofIndia":1,
        "Optional1":"0",
        "Optional2":"0",
        "Optional3":"0"
    }

}
EOD;
// The HTTP headers for the request (based on image above)
$headers = array(
    'Content-Type: application/json',
);
// Build the cURL session
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $mySOAP);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
// Send the request and check the response
if (($result = curl_exec($ch)) === FALSE) {
    die('cURL error: ' . curl_error($ch) . "<br />\n");
} else {
    echo $result;
}
curl_close($ch);
$data = json_decode($result,true);
$devices = $data['AvailabilityOutput']['AvailableFlights'];

?>

출력 : GetAvailabilityResponse 이것은 우리가 서버 측에서받은 응답이며 내 PHP 및 html 코드를 통해이를 보여주고 싶습니다.

{
"ResponseStatus":1,"UserTrackId":"RMYLN97099869978897983977484056886242191","AvailabilityOutput":{"AvailableFlights":{"OngoingFlights":[{"AvailSegments":[{"FlightId":"41","AirlineCode":"9W","FlightNumber":"618","AirCraftType":"738","Origin":"BOM","OriginAirportTerminal":"","Destination":"PNQ","DestinationAirportTerminal":"","DepartureDateTime":"30\/10\/2016 10:00:00","ArrivalDateTime":"30\/10\/2016 10:50:00","Duration":"00Hrs 50Mins","NumberofStops":0,"Via":" ","CurrencyCode":"INR","Currency_Conversion_Rate":"","AvailPaxFareDetails":[{"ClassCode":"S","ClassCodeDesc":"S","BaggageAllowed":null,"Adult":{"FareBasis":"S2IPO","FareType":"\u000aRefundable","BasicAmount":6940,"YQ":200,"TaxDetails":null,"TotalTaxAmount":0,"GrossAmount":8254,"Commission":"208.2"},"Child":null,"Infant":null}],"SupplierId":"1"}]},{"AvailSegments":[{"FlightId":"42","AirlineCode":"9W","FlightNumber":"453","AirCraftType":"738","Origin":"BOM","OriginAirportTerminal":"","Destination":"HYD","DestinationAirportTerminal":"","DepartureDateTime":"30\/10\/2016 03:00:00","ArrivalDateTime":"30\/10\/2016 04:15:00","Duration":"01Hrs 15Mins","NumberofStops":0,"Via":" ","CurrencyCode":"INR","Currency_Conversion_Rate":"","AvailPaxFareDetails":[{"ClassCode":"L","ClassCodeDesc":"L","BaggageAllowed":null,"Adult":{"FareBasis":"L2IPO","FareType":"\u000aRefundable","BasicAmount":0,"YQ":0,"TaxDetails":null,"TotalTaxAmount":0,"GrossAmount":0,"Commission":"0"},"Child":null,"Infant":null}],"SupplierId":"1"},{"FlightId":"43","AirlineCode":"9W","FlightNumber":"2822","AirCraftType":"73W","Origin":"HYD","OriginAirportTerminal":"","Destination":"PNQ","DestinationAirportTerminal":"","DepartureDateTime":"30\/10\/2016 05:50:00","ArrivalDateTime":"30\/10\/2016 07:05:00","Duration":"01Hrs 15Mins","NumberofStops":0,"Via":" ","CurrencyCode":"INR","Currency_Conversion_Rate":"","AvailPaxFareDetails":[{"ClassCode":"L","ClassCodeDesc":"L","BaggageAllowed":null,"Adult":{"FareBasis":"L2IPO","FareType":"\u000aRefundable","BasicAmount":16540,"YQ":400,"TaxDetails":null,"TotalTaxAmount":0,"GrossAmount":18965,"Commission":"496.2"},"Child":null,"Infant":null}],"SupplierId":"1"}]},{"AvailSegments":[{"FlightId":"44","AirlineCode":"9W","FlightNumber":"465","AirCraftType":"738","Origin":"BOM","OriginAirportTerminal":"","Destination":"MAA","DestinationAirportTerminal":"","DepartureDateTime":"30\/10\/2016 07:05:00","ArrivalDateTime":"30\/10\/2016 09:05:00","Duration":"02Hrs 0Mins","NumberofStops":0,"Via":" ","CurrencyCode":"INR","Currency_Conversion_Rate":"","AvailPaxFareDetails":[{"ClassCode":"S","ClassCodeDesc":"S","BaggageAllowed":null,"Adult":{"FareBasis":"S2IPO","FareType":"\u000aRefundable","BasicAmount":0,"YQ":0,"TaxDetails":null,"TotalTaxAmount":0,"GrossAmount":0,"Commission":"0"},"Child":null,"Infant":null}],"SupplierId":"1"},{"FlightId":"45","AirlineCode":"9W","FlightNumber":"2491","AirCraftType":"738","Origin":"MAA","OriginAirportTerminal":"","Destination":"PNQ","DestinationAirportTerminal":"","DepartureDateTime":"30\/10\/2016 09:45:00","ArrivalDateTime":"30\/10\/2016 11:25:00","Duration":"01Hrs 40Mins","NumberofStops":0,"Via":" ","CurrencyCode":"INR","Currency_Conversion_Rate":"","AvailPaxFareDetails":[{"ClassCode":"S","ClassCodeDesc":"S","BaggageAllowed":null,"Adult":{"FareBasis":"S2IPO","FareType":"\u000aRefundable","BasicAmount":14050,"YQ":600,"TaxDetails":null,"TotalTaxAmount":0,"GrossAmount":16244,"Commission":"421.5"},"Child":null,"Infant":null}],"SupplierId":"1"}]},{"AvailSegments":[{"FlightId":"46","AirlineCode":"9W","FlightNumber":"339","AirCraftType":"73W","Origin":"BOM","OriginAirportTerminal":"","Destination":"DEL","DestinationAirportTerminal":"","DepartureDateTime":"30\/10\/2016 03:00:00","ArrivalDateTime":"30\/10\/2016 05:05:00","Duration":"02Hrs 5Mins","NumberofStops":0,"Via":" ","CurrencyCode":"INR","Currency_Conversion_Rate":"","AvailPaxFareDetails":[{"ClassCode":"S","ClassCodeDesc":"S","BaggageAllowed":null,"Adult":{"FareBasis":"S2IPO","FareType":"\u000aRefundable","BasicAmount":0,"YQ":0,"TaxDetails":null,"TotalTaxAmount":0,"GrossAmount":0,"Commission":"0"},"Child":null,"Infant":null}],"SupplierId":"1"},{"FlightId":"47","AirlineCode":"9W","FlightNumber":"365","AirCraftType":"73H","Origin":"DEL","OriginAirportTerminal":"","Destination":"PNQ","DestinationAirportTerminal":"","DepartureDateTime":"30\/10\/2016 08:30:00","ArrivalDateTime":"30\/10\/2016 10:40:00","Duration":"02Hrs 10Mins","NumberofStops":0,"Via":" ","CurrencyCode":"INR","Currency_Conversion_Rate":"","AvailPaxFareDetails":[{"ClassCode":"S","ClassCodeDesc":"S","BaggageAllowed":null,"Adult":{"FareBasis":"S2IPO","FareType":"\u000aRefundable","BasicAmount":13600,"YQ":800,"TaxDetails":null,"TotalTaxAmount":0,"GrossAmount":16031,"Commission":"408"},"Child":null,"Infant":null}],"SupplierId":"1"}]},{"AvailSegments":[{"FlightId":"48","AirlineCode":"9W","FlightNumber":"463","AirCraftType":"73H","Origin":"BOM","OriginAirportTerminal":"","Destination":"MAA","DestinationAirportTerminal":"","DepartureDateTime":"30\/10\/2016 02:55:00","ArrivalDateTime":"30\/10\/2016 04:50:00","Duration":"01Hrs 55Mins","NumberofStops":0,"Via":" ","CurrencyCode":"INR","Currency_Conversion_Rate":"","AvailPaxFareDetails":[{"ClassCode":"S","ClassCodeDesc":"S","BaggageAllowed":null,"Adult":{"FareBasis":"S2IPOA","FareType":"\u000aRefundable","BasicAmount":0,"YQ":0,"TaxDetails":null,"TotalTaxAmount":0,"GrossAmount":0,"Commission":"0"},"Child":null,"Infant":null}],"SupplierId":"1"},{"FlightId":"49","AirlineCode":"9W","FlightNumber":"2491","AirCraftType":"738","Origin":"MAA","OriginAirportTerminal":"","Destination":"PNQ","DestinationAirportTerminal":"","DepartureDateTime":"30\/10\/2016 09:45:00","ArrivalDateTime":"30\/10\/2016 11:25:00","Duration":"01Hrs 40Mins","NumberofStops":0,"Via":" ","CurrencyCode":"INR","Currency_Conversion_Rate":"","AvailPaxFareDetails":[{"ClassCode":"S","ClassCodeDesc":"S","BaggageAllowed":null,"Adult":{"FareBasis":"S2IPO","FareType":"\u000aRefundable","BasicAmount":13800,"YQ":600,"TaxDetails":null,"TotalTaxAmount":0,"GrossAmount":15979,"Commission":"414"},"Child":null,"Infant":null}],"SupplierId":"1"}]}],"ReturnFlights":null}}}

내 PHP 코드

<?php
echo 'Flifht checking';
echo '<br><hr>';
    foreach ($devices as $device){
        echo '<h4>';
        echo $device['FlightNumber'];
        echo '</h4>';
    }
?>

json 코드에서 모든 비행 정보를 얻는 방법은 무엇입니까? 그래서이 json 데이터를 얻는 방법 AvailabilityOutput":{"AvailableFlights":{"OngoingFlights":[{"AvailSegments". 깊이 트리 구조를 이해할 수 없습니다.

nanocv

여기에 모든 비행을 통과 할 수있는 구현이 있습니다.

예제를 더 쉽게 이해할 수 있도록 $devices이름을 $availableFlights변경했습니다 .

$data = json_decode($result, true);
$availableFlights = $data['AvailabilityOutput']['AvailableFlights'];

echo 'Flifht checking';
echo '<br><hr>';

foreach ($availableFlights['OngoingFlights'] as $availableFlight) {
  foreach ($availableFlight['AvailSegments'] as $availSegment) {

    echo '<h4>';
    echo 'Flight Number: ' . $availSegment['FlightNumber'];
    echo '</h4>';
    echo '<p>Origin: ' . $availSegment['Origin'] . ' - Destination: ' . $availSegment['Destination'] . '</p>';

  }
}

여기서 출력은 다음과 같습니다.

Flifht 검사

항공편 번호 : 618

출발지 : BOM-목적지 : PNQ

항공편 번호 : 453

출발지 : BOM-목적지 : LONG

항공편 번호 : 2822

출발지 : LONG-목적지 : PNQ

항공편 번호 : 465

출발지 : BOM-목적지 : MAA

항공편 번호 : 2491

출발지 : MAA-목적지 : PNQ

항공편 번호 : 339

출발지 : BOM-목적지 : DEL

항공편 번호 : 365

출발지 : DEL-목적지 : PNQ

항공편 번호 : 463

출발지 : BOM-목적지 : MAA

항공편 번호 : 2491

출발지 : MAA-목적지 : PNQ

또한, 약간의 트릭 : 전체 json 트리를 쉽게 보려면 다음을 사용할 수 있습니다.

echo "<pre>";
print_r($availableFlights);
echo "</pre>";

(데이터 구조를 이해하는 것이 도움이 될 것이라고 생각했습니다)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Ajax를 통해 JSON 데이터 가져 오기

분류에서Dev

PHP를 통해 mysql로 데이터 가져 오기

분류에서Dev

PHP를 통해 mysql db에서 데이터 가져 오기

분류에서Dev

JSON 데이터를 가져 오기 위해 URL 인코딩

분류에서Dev

PHP를 통해 CSV 파일을 SQLite 데이터베이스로 가져 오기

분류에서Dev

PHP와 Ajax를 통해 웹 페이지에서 데이터 가져 오기

분류에서Dev

curl_multi를 통해 여러 URL에서 JSON 데이터 가져 오기

분류에서Dev

PHP를 통해 json 응답 URL에서 데이터를 가져 오려고 할 때 오류 발생

분류에서Dev

MySQL 데이터를 가져와 PHP를 통해 중첩 된 JSON으로 출력

분류에서Dev

@ViewChild를 통해 비동기 데이터 가져 오기

분류에서Dev

가져 오기를 통해 데이터 목록 채우기

분류에서Dev

.json을 통해 데이터를 Redux와 네이티브 반응으로 가져 오기

분류에서Dev

양식 도움말-ajax를 통해 전송 된 이메일 데이터에 PHP 스크립트 가져 오기

분류에서Dev

POST를 통해 React에서 Flask로 데이터 가져 오기

분류에서Dev

LogStash를 통해 대량 데이터 가져 오기

분류에서Dev

Pandas Data-Reader를 통해 Quandl 데이터 가져 오기

분류에서Dev

AJAX를 통해 사용자 별 데이터 가져 오기

분류에서Dev

JPA-외래 키를 통해 데이터 가져 오기

분류에서Dev

Unity를 통해 서버에서 데이터 가져 오기

분류에서Dev

팝업에서 데이터 가져 오기는 ajax를 통해 두 번 표시됩니다 .php mysql

분류에서Dev

WebSockets-PHP를 통해 JSON 데이터 보내기

분류에서Dev

PHP를 사용하여 Stripe Webhook JSON에서 데이터 가져 오기

분류에서Dev

PHP에 데이터를 POST하고 SwiftyJSON으로 JSON 가져 오기

분류에서Dev

AJAX를 사용하여 PHP 함수에서 JSON 데이터 가져 오기

분류에서Dev

ajax 요청을 통해 로컬 json 데이터 파일 가져 오기

분류에서Dev

JSON을 통해 asp.net C #으로 Shopify 주문 데이터 가져 오기

분류에서Dev

PHP의 Json에서 데이터 가져 오기 오류

분류에서Dev

PHP를 통해 URL에서 가장 큰 이미지 가져 오기

분류에서Dev

데이터베이스를 통해 가져 오는 이미지 크기 조정

Related 관련 기사

  1. 1

    Ajax를 통해 JSON 데이터 가져 오기

  2. 2

    PHP를 통해 mysql로 데이터 가져 오기

  3. 3

    PHP를 통해 mysql db에서 데이터 가져 오기

  4. 4

    JSON 데이터를 가져 오기 위해 URL 인코딩

  5. 5

    PHP를 통해 CSV 파일을 SQLite 데이터베이스로 가져 오기

  6. 6

    PHP와 Ajax를 통해 웹 페이지에서 데이터 가져 오기

  7. 7

    curl_multi를 통해 여러 URL에서 JSON 데이터 가져 오기

  8. 8

    PHP를 통해 json 응답 URL에서 데이터를 가져 오려고 할 때 오류 발생

  9. 9

    MySQL 데이터를 가져와 PHP를 통해 중첩 된 JSON으로 출력

  10. 10

    @ViewChild를 통해 비동기 데이터 가져 오기

  11. 11

    가져 오기를 통해 데이터 목록 채우기

  12. 12

    .json을 통해 데이터를 Redux와 네이티브 반응으로 가져 오기

  13. 13

    양식 도움말-ajax를 통해 전송 된 이메일 데이터에 PHP 스크립트 가져 오기

  14. 14

    POST를 통해 React에서 Flask로 데이터 가져 오기

  15. 15

    LogStash를 통해 대량 데이터 가져 오기

  16. 16

    Pandas Data-Reader를 통해 Quandl 데이터 가져 오기

  17. 17

    AJAX를 통해 사용자 별 데이터 가져 오기

  18. 18

    JPA-외래 키를 통해 데이터 가져 오기

  19. 19

    Unity를 통해 서버에서 데이터 가져 오기

  20. 20

    팝업에서 데이터 가져 오기는 ajax를 통해 두 번 표시됩니다 .php mysql

  21. 21

    WebSockets-PHP를 통해 JSON 데이터 보내기

  22. 22

    PHP를 사용하여 Stripe Webhook JSON에서 데이터 가져 오기

  23. 23

    PHP에 데이터를 POST하고 SwiftyJSON으로 JSON 가져 오기

  24. 24

    AJAX를 사용하여 PHP 함수에서 JSON 데이터 가져 오기

  25. 25

    ajax 요청을 통해 로컬 json 데이터 파일 가져 오기

  26. 26

    JSON을 통해 asp.net C #으로 Shopify 주문 데이터 가져 오기

  27. 27

    PHP의 Json에서 데이터 가져 오기 오류

  28. 28

    PHP를 통해 URL에서 가장 큰 이미지 가져 오기

  29. 29

    데이터베이스를 통해 가져 오는 이미지 크기 조정

뜨겁다태그

보관