首页 > 解决方案 > 处理来自 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。

我究竟做错了什么?

非常感谢您提前。

标签: phpjsonapicurl

解决方案


您需要在通话中设置CURLOPT_RETURNTRANSFERtrue(或1) 。curl_setopt_array

http://php.net/curl_exec

TRUE成功或FALSE失败返回。但是,如果CURLOPT_RETURNTRANSFER设置了该选项,它将在成功时返回结果,FALSE在失败时返回。


推荐阅读