php - 处理来自 cURL 请求的 JSON 响应的问题
问题描述
我正在尝试处理来自 cURL 请求的响应,该请求返回带有一些日期和其他我不需要的数据的 JSON。我正在尝试访问日期中的数据以在我的应用程序的日历中显示它们,但我根本无法访问这些信息。我检查了其他类似的问题,但没有一个解决方案对我有用。这是我的代码:
<?php
$data = "{}";
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://******",
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $data,
CURLOPT_FOLLOWLOCATION => true,
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$decode = json_decode($response, true);
var_dump($decode);
var_dump($response);
这是我得到的回应:
{
calendar: {
holidays: [
"12/10/2018",
"01/11/2018",
"09/11/2018",
"06/12/2018",
"19/04/2019",
"01/05/2019"
],
nonTeaching: [
"24/12/2018",
"02/11/2018",
"26/12/2018",
"07/12/2018",
"27/12/2018",
"12/04/2019",
"28/12/2018",
"03/05/2019",
"28/04/2019"
],
events: [
{
other info
}
我正在尝试访问假期和非教学的日期,但到目前为止我还无法访问。var_dump 只返回“1”或 true。
我究竟做错了什么?
非常感谢您提前。
解决方案
您需要在通话中设置CURLOPT_RETURNTRANSFER
为true
(或1
) 。curl_setopt_array
TRUE
成功或FALSE
失败返回。但是,如果CURLOPT_RETURNTRANSFER
设置了该选项,它将在成功时返回结果,FALSE
在失败时返回。
推荐阅读
- node.js - 如何实际卸载 node-gyp
- javascript - 为什么即使我已将数字转换回字符串,我也不能将数字推送到我的字符串数组中?
- python - 编辑包在jupyter中不生效
- redis - Redis 管道忽略重定向
- python - 使用 AWS CDK 部署 lambda 函数时如何在存储库中使用来自第三方 python 类的代码
- javascript - GetStream 在不同的提要中创建相同的活动
- javascript - Tooltip 传单的动态永久属性
- karate - karate-config.js 中的 callSingle() 用法
- reactjs - 如何让具有来自 Netlify 的域名的反应应用程序与弹性 beanstalk spring boot 后端连接
- popmotion - popmotion补间/从当前状态动画到给定状态