PHP json解码带数字标签

时间:2012-10-05 08:06:36

标签: php json youtube

  

可能重复:
  Get a PHP object property that is a number

我尝试通过以下代码解析来自youtube数据api的json结果:

 $url="http://gdata.youtube.com/feeds/api/videos/$id?v=2&alt=jsonc";
    echo "$url".'<BR>';
    $json = file_get_contents($url,0,null,null);
    $json_output = json_decode($json);
    $items=$json_output -> data;

    $content = "{$items->content->1}";
    echo $content.'<BR>';

一切正常,但最后两行。有人可以帮忙吗?

这是json的结果:

 {"apiVersion":"2.1","data":{"id":"9jDg3Dh28rE","uploaded":"2012-10-04T03:45:49.000Z",
........
 "content":{"5":"http://www.youtube.com/v/9jDg3Dh28rE?version=3&f=videos&app=youtube_gdata",
 "1":"rtsp://v5.cache8.c.youtube.com/CiILENy73wIaGQmx8nY43OAw9hMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp",
 "6":"rtsp://v5.cache4.c.youtube.com/CiILENy73wIaGQmx8nY43OAw9hMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp"},"duration":2403,......}}

1 个答案:

答案 0 :(得分:1)

您需要使用{}包装数字属性才能访问它。

$content = $items->content->{1};

而且您也不需要使用如下的双引号:

$thumbnail = "{$items->thumbnail->sqDefault}";

这应该只是

$thumbnail = $items->thumbnail->sqDefault;