我使用curl从服务返回json数据。 var转储工作正常,但是当我尝试访问一个键值对时我什么都没得到?其中一个键是status,这就是我想在if语句中检索的内容。
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_HTTPHEADER,array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_USERAGENT, '$AgentString');
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
curl_setopt($ch,CURLOPT_HTTPHEADER,array (
"Accept: application/json"
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
$json = json_decode(utf8_encode($result), true);
var_dump($json["return"]);
if (isset($json->status)) {
// do something
print("yes");
} else {
print("No");
}
答案 0 :(得分:1)
由于json_decode
中的第二个参数为true,结果将作为关联数组返回。
$json->status
应该是
$json["status"]