簡體   English   中英

使用 PHP(Shiprocket API)從 JSON Object 中檢索值

[英]Retrieve a value from JSON Object using PHP (Shiprocket API)

我通過 Shiprocket API 獲得低於 json 的數據。現在我想從這個 json 中提取 PHP 代碼中以下變量的值。

我嘗試使用 json_decode 但它不起作用並顯示 null 值:

$data = json_decode($json);
$sr_status = $data['shipment_status'];

請建議用於檢索以下變量值的代碼。

shipment_status, awb_code, courier_company_id

Array
(
    [0] => stdClass Object
        (
            [tracking_data] => stdClass Object
                (
                    [track_status] => 1
                    [shipment_status] => 7
                    [shipment_track] => Array
                        (
                            [0] => stdClass Object
                                (
                                    [id] => 180339484
                                    [awb_code] => 11150911492
                                    [courier_company_id] => 55
                                    [shipment_id] => 1711169662
                                    [order_id] => 233223781187
                                    [pickup_date] => 2023-01-11 03:02:00
                                    [delivered_date] => 2023-01-16 12:22:00
                                    [weight] => 0.25
                                    [packages] => 1
                                    [current_status] => Delivered
                                    [delivered_to] => Solapur
                                    [destination] => Solapur
                                    [consignee_name] => ABC
                                    [origin] => Ludhiana
                                    [courier_agent_details] =>
                                    [edd] =>
                                )

                        )

                    [shipment_track_activities] => Array
                        (
                            [0] => stdClass Object
                                (
                                    [date] => 2023-01-16 12:22:00
                                    [status] => 000-T-DL
                                    [activity] => SHIPMENT DELIVERED
                                    [location] => SOLAPUR
                                    [sr-status] => 7
                                    [sr-status-label] => DELIVERED
                                )

                            [1] => stdClass Object
                                (
                                    [date] => 2023-01-16 11:34:00
                                    [status] => 002-S-UD
                                    [activity] => SHIPMENT OUTSCAN
                                    [location] => SOLAPUR
                                    [sr-status] => 17
                                    [sr-status-label] => OUT FOR DELIVERY
                                )

                                                 

                        )

                    [track_url] => https://shiprocket.co//tracking/11150911492
                    [etd] => 2023-01-14 17:02:00
                    [qc_response] => stdClass Object
                        (
                            [qc_image] =>
                            [qc_failed_reason] =>
                        )

                )

        )

)


你可以試試這個:

$array = ...; // Your array here
$data= json_decode($array);
$shipment_status = $data[0]->tracking_data->shipment_status;
$awb_code = $data[0]->tracking_data->shipment_track[0]->awb_code;
$courier_company_id = $data[0]->tracking_data->shipment_track[0]->courier_company_id;

或者使用$data = json_decode($json,true); 它返回一個數組,您可以在其中使用

foreach($data as $val) {
    $shipment_status = $val['tracking_data']['shipment_status'];
    foreach ($val['shipment_track'] as $value) {
        $awb_code = $value['awb_code'];
        $courier_company_id = $value['courier_company_id'];
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM