php json解码空白页面

时间:2013-09-13 09:57:35

标签: php json

您好我想解码json。我的代码如下:

<?php
$json = '{"response":{"count":1,"items":[{"id":165983743,"owner_id":170785079,"title":"Ke$ha - Blow","duration":253,"description":"","date":1379017507,"views":1,"comments":0,"photo_130":"http:\/\/cs518121.vk.me\/u170785079\/video\/s_5e5f6f2c.jpg","photo_320":"http:\/\/cs518121.vk.me\/u170785079\/video\/l_dd4ec237.jpg","files":{"mp4_240":"http:\/\/cs518121v4.vk.me\/u170785079\/videos\/500770e51c.240.mp4","mp4_360":"http:\/\/cs518121v4.vk.me\/u170785079\/videos\/500770e51c.360.mp4","mp4_480":"http:\/\/cs1-46v4.vk.me\/p13\/483502b20c4f.480.mp4","mp4_720":"http:\/\/cs518121v4.vk.me\/u170785079\/videos\/500770e51c.720.mp4"},"player":"http:\/\/vk.com\/video_ext.php?oid=170785079&id=165983743&hash=1e417a266e9a3f00"}]}}';

$obj = json_decode($json);
print_r ($obj);
print $obj->{'response'}->{'items'}->{'files'}->{'mp4_240'};

但我得到一个空白页

3 个答案:

答案 0 :(得分:1)

print_r实际上应该打印一些东西 - 你的json是正确的。

你应该这样做:

print $obj->response->items[0]->files->mp4_240;

以下是使用ideone的代码:http://ideone.com/4xXfOl

编辑:如果您对这些答案进行了低估,请在评论中解释原因...

答案 1 :(得分:1)

首先你必须在你的php解释器上启用显示错误

ini_set('display_errors',1); 
error_reporting(E_ALL);

然后你必须更专注地阅读你想要遍历的json结构 作为数组的项目,实际上对象键对你说:复数形式的项目 所以解决的是:

print $obj->{'response'}->{'items'}[0]->{'files'}->{'mp4_240'};

当然我不喜欢这样的语法,使用

会更好
print $obj->response->items[0]->files->mp4_240;
当程序选择动态访问属性时,

使用$ obj-&gt; {'prop_name'}表单

答案 2 :(得分:0)

我认为你需要这个

echo $obj->response->items[0]->files->mp4_240;

而不是print $obj->{'response'}->{'items'}->{'files'}->{'mp4_240'};