使用curl获取json响应的值和键

时间:2012-08-10 22:14:57

标签: php json

我使用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");
}

1 个答案:

答案 0 :(得分:1)

由于json_decode中的第二个参数为true,结果将作为关联数组返回。

$json->status

应该是

$json["status"]