【发布时间】:2014-01-11 22:50:21
【问题描述】:
这是我的代码:
$ch = curl_init('');
$request = 'where={"place":"'.$place.'"}&count=1&limit=0';
$url = "https://api.parse.com/1/classes/className" . "?" . $request;
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-Parse-Application-Id: ...',
'X-Parse-REST-API-Key: ...
));
//curl_setopt($ch, CURLOPT_POST, true);
// Execute
$result = curl_exec($ch);
// Close connection
curl_close($ch);
这是输出:
{"results":[],"count":0}
我只想得到他的计数。
我试过这个:
$json_res = json_decode($result, true);
echo 'Number : '.$json_res['count'];
但是输出变成:
Number :
如果我执行json_encode,则结果只是True 值。
我试过添加这个:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
但没有改变任何东西。
我错过了什么?
编辑:在 $json_res 上做一个 var_dump 给我:int(1)。
这是为什么呢?
【问题讨论】:
-
您是否费心检查 json_decode() 是否真的成功了?它在失败时返回一个 php
null。 -
@MarcB 嗯,如何检查?也许它根本没有成功。
-
做一个$json_res的var_dump
-
if ($json_res === null) { die(json_last_error()); }。当然,如果您确实发送了一个有效的“null”值作为 json 字符串,这可能会产生误报。 -
@AlexBarroso 它打印 int(1)。