【发布时间】:2014-12-17 01:40:11
【问题描述】:
感谢您的反对。
我有一个 REST API,它返回 JSON 格式的任务列表,我将它解码成一个数组 使用:
$decoded = json_decode($curl_response,true);
并且在使用该数组时遇到了麻烦。
编辑:抱歉修改问题,但 curl_response 是
{
"error": true,
"message": "Api key is misssing"
}
当我登录时,JSON 响应中有一个 api 密钥,我不知道如何进一步使用。在进一步调用 api 时需要该密钥进行身份验证。如何在我的请求标头中包含该 apikey 以进行进一步的 curl 调用?谢谢。
响应格式如下(使用 Chrome 中的高级 REST 客户端进行测试):
{
error: false
tasks: [5]
0: {
id: 2
task: "v@q.com"
status: 0
createdAt: "2014-10-21 21:42:48"
}-
1: {
id: 3
task: "Inter Nam"
status: 0
createdAt: "2014-10-21 21:42:58"
}-
2: {
id: 4
task: "Vamos"
status: 0
createdAt: "2014-10-21 21:43:04"
}-
3: {
id: 5
task: "El Mundo"
status: 0
createdAt: "2014-10-21 23:12:33"
}-
4: {
id: 6
task: "El Clasico"
status: 0
createdAt: "2014-10-21 23:12:45"
}-
-
}
我试图在数组 $decoded 中解码上述响应,然后我想在循环中显示每个任务,得到总数。任务..等--------------------------------(1) 使用 Count($decoded) 我得到 2 这显然是错误的,我也无法使用:
foreach($decoded as $task) {
echo $task["task"];
}
如何实现(1)?感谢您的帮助。
【问题讨论】:
-
你需要打开
tasks项;foreach ($decoded['tasks'] as $task). -
发布 CURL 调用的原始响应,因为该数据结构不是有效的 JSON,这可能是您遇到问题的原因,或者您在粘贴问题之前以某种方式更改了它跨度>
-
@RiggsFolly 如何从 CURL 调用中获取原始响应?
-
回显
$curl_response -
@RiggsFolly 谢谢。我这样做了,现在我必须在 curl 调用中将 api 密钥作为请求标头发送。所以,正如我所说,我只是在 url 末尾附加了 api 密钥,还是有其他方法呢?