将 JSON 数据从 API 转换为数组并在 Laravel 和 Guzzle HTTP Client 中分别显示?

Posted

技术标签:

【中文标题】将 JSON 数据从 API 转换为数组并在 Laravel 和 Guzzle HTTP Client 中分别显示?【英文标题】:Convert JSON data from API to array and display it separately in Laravel and Guzzle HTTP Client? 【发布时间】:2018-05-17 21:10:38 【问题描述】:

我正在使用 API 获取 JSON 格式的数据,我想将它们转换为数组并分别显示每个 'name'=>'value' 对在 Laravel 中,我使用 Guzzle Http Client 来获取 API 数据,

获取数据的代码:

$pnrNumber = 4238007735;

    $client = new Client();

    $res = $client->request('GET', 'https://api.railwayapi.com/v2/pnr-status/pnr/'.$pnrNumber.'/apikey/<API-KEY>/');

    $body =  $res->getBody();

    echo $body;

谢谢!

【问题讨论】:

还有...你的问题到底是什么? @matiit 我正在获取 JSON 格式的数据,但我希望将数据单独存储在不同的变量中 例如:JSON 数据是(“doj”: “07-12-2017”,“乘客”:[“booking_status”:“CNF/S7/15/GN”,“否”:1,“current_status”:“CNF/-/0/GN”] ) 我希望它将所有值存储在不同的变量中。 【参考方案1】:

使用json_decode函数:

$array = json_decode($body, true);

注意第二个参数设置为true,所以输出是数组而不是stdClass。

【讨论】:

以上是关于将 JSON 数据从 API 转换为数组并在 Laravel 和 Guzzle HTTP Client 中分别显示?的主要内容,如果未能解决你的问题,请参考以下文章