在我的代码中,我想从JSON数据中打印一个特定的值,即ticket
,但是当我这样做时,每次我都不知道自己在做错了什么时出现Notice: Trying to get property of non-object
错误它
这是我的JSON数组转储
array(3) {
["status"]=>
int(200)
["msg"]=>
string(2) "OK"
["result"]=>
array(6) {
["ticket"]=>
string(79) "w-_xdRcVDJQ~55de39b726745a28~1505246565~def~FzuGpPpNoQEus6lK~1~Dhyp8PJM83-pMwAe"
["captcha_url"]=>
string(50) "https://myurl.com/images/FzuGpPpNoQEus6lK.png"
["captcha_w"]=>
int(160)
["captcha_h"]=>
int(70)
["wait_time"]=>
int(0)
["valid_until"]=>
string(19) "2017-09-12 20:17:46"
}
}
这是我的PHP代码
$response = file_get_contents($url);
$obj = json_decode($response, TRUE);
$printjson = $obj->result->ticket;
echo $printjson;
答案 0 :(得分:5)
json_decode
时使用的 TRUE
函数表示响应将转换为array
而不是object
。
尝试使用它而不使用第二个参数:
$response = file_get_contents($url);
$obj = json_decode($response);
$printjson = $obj->result->ticket;
echo $printjson;
参考json_decode。