gpt4 book ai didi

php - 使用 CURL 获取 JSON 数据

转载 作者:行者123 更新时间:2023-12-02 17:16:43 25 4
gpt4 key购买 nike

我有一个通过 API 填充数据的网站。我阅读了它的文档以获取其数据,它建议使用 curl。我对curl不熟悉,于是自己去学习,得到了如下代码:

$url = 'https://api.flightplandatabase.com/search/plans?fromICAO=EHAM&toName=Kennedy&limit=1';
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
$datasearch = json_decode($data);
echo $datasearch['id'];
curl_close($curl);

但是当我试图显示计划的 ID 时,我得到了一个空白页面。如果我删除 curl_setopt 然后它给我整个 JSON 数据。请告诉我我做错了什么。谢谢

最佳答案

我添加了 curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/json')); 行以确保我们接受 JSON 格式的数据。

$datasearch 是一个包含一个元素的数组。该元素是您想要的所有属性的数组。因此,要访问这些属性,我们需要先访问元素,然后再访问属性。您可以通过 $datasearch[0]["id"]; 执行此操作。为避免不断键入 $datasearch[0],您只需将 $datasearch 值重置为其第一个元素 ($datasearch = $datasearch[0];)。之后,您可以像 $datasearch["id"] 一样使用它。

<?php
$url = 'https://api.flightplandatabase.com/search/plans?fromICAO=EHAM&toName=Kennedy&limit=1';
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/json'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
$datasearch = json_decode($data, true);

if(!empty($datasearch)) {
$datasearch = $datasearch[0];
echo $datasearch["id"];
} else {
echo "Data not fetched.";
}

curl_close($curl);
?>

关于php - 使用 CURL 获取 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46016227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com