0

可能重复:
如何访问具有整数等名称的对象属性?

我尝试通过以下代码从 youtube data 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,......}}
4

1 回答 1

1

您需要将数字属性包装起来{}才能访问它。

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

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

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

这应该只是

$thumbnail = $items->thumbnail->sqDefault;
于 2012-10-05T08:07:44.417 回答