PHP打印JSON特定值

时间:2017-09-12 20:06:41

标签: php json

在我的代码中,我想从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;

1 个答案:

答案 0 :(得分:5)

第二个参数设置为json_decode时使用的

TRUE函数表示响应将转换为array而不是object

尝试使用它而不使用第二个参数:

$response = file_get_contents($url);
$obj = json_decode($response);
$printjson = $obj->result->ticket;
echo $printjson;

参考json_decode