使用PHP json_decode检索JSON值

时间:2013-05-03 10:26:40

标签: php json

我正在尝试从API返回的JSON中检索一个值,但是我似乎无法弄清楚如何到达那里!下面是返回的内容以及我目前正在尝试访问它的方式:

array(1) { ["ticket"]=> array(17) { ["id"]=> int(707078) ["subject"]=> string(6) "werwer" ["replies_count"]=> int(0) ["comments_count"]=> int(0) ["last_activity_at"]=> string(20) "2013-05-03T10:13:52Z" ["created_at"]=> string(20) "2013-05-03T10:13:52Z" ["unanswered"]=> bool(true) ["archived"]=> bool(false) ["spam"]=> bool(false) ["trash"]=> bool(false) ["summary"]=> string(9) "werewrwer" ["source"]=> array(1) { ["web"]=> string(3) "api" } ["cc"]=> array(0) { } ["labels"]=> array(0) { } ["requester"]=> array(5) { ["id"]=> int(249190) ["email"]=> string(22) "steven@frontpage.co.uk" ["name"]=> string(6) "steven" ["agent"]=> bool(true) ["picture"]=> array(6) { ["thumb20"]=> string(81) "https://secure.gravatar.com/avatar/9baabb86969cbccb6230d298a04f3490.png?r=PG&s=20" ["thumb24"]=> string(81) "https://secure.gravatar.com/avatar/9baabb86969cbccb6230d298a04f3490.png?r=PG&s=24" ["thumb32"]=> string(81) "https://secure.gravatar.com/avatar/9baabb86969cbccb6230d298a04f3490.png?r=PG&s=32" ["thumb48"]=> string(81) "https://secure.gravatar.com/avatar/9baabb86969cbccb6230d298a04f3490.png?r=PG&s=48" ["thumb64"]=> string(81) "https://secure.gravatar.com/avatar/9baabb86969cbccb6230d298a04f3490.png?r=PG&s=64" ["thumb128"]=> string(82) "https://secure.gravatar.com/avatar/9baabb86969cbccb6230d298a04f3490.png?r=PG&s=128" } } ["content"]=> array(4) { ["html"]=> string(9) "werewrwer" ["text"]=> string(9) "werewrwer" ["truncated"]=> bool(false) ["attachments"]=> array(0) { } } ["starred"]=> bool(false) } }

$jsonResponse = json_decode($jsonResponse, true);
die($jsonResponse['ticket']['id']);

1 个答案:

答案 0 :(得分:5)

除了不注意dieexit的别名)的参数的类型这一事实之外,你没有做错任何事情:

  

如果status是一个字符串,则此函数会打印之前的状态   离开。

     

如果status是整数,则该值将用作退出状态   并且不打印。退出状态应该在0到254的范围内   退出状态255由PHP保留,不得使用。状态0   用于成功终止程序。

     

注意:PHP> = 4.2.0如果是整数,则不会打印状态。

如果你这样做,你会得到预期的行为:

echo $jsonResponse['ticket']['id'];
die;

甚至这个:

die((string)$jsonResponse['ticket']['id']);