我要显示与标题,流派,体裁,说明电视节目的列表,使用服务器上的一个JSON文件开始时间和持续时间,但我得到以下错误(非对象):遍历JSON
E_NOTICE:式8 - 尝试获取非对象的属性 - 在第13行
E_WARNING:类型2 - 为的foreach()提供参数无效 - 在第13行
这里是一块样品json:
{"channel":"6280",
"banned":true,
"plan":[
{"id":"-1",
"pid":"0",
"starttime":"00:00",
"dur":"65",
"title":"",
"normalizedtitle": "",
"desc":"",
"genre":"",
"subgenre":"",
"prima":false
},
{"id":"94622386",
"pid":"507461",
"starttime":"01:05",
"dur":"65",
"title":"Sex Researchers",
"normalizedtitle": "sex-researchers",
"desc":"Ep. 2 - Ciclo The Body of...",
"genre":"mondo e tendenze",
"subgenre":"societa",
"prima":false
},
这里是我使用的PHP代码:
<?php
$channel = '6280';
$current_unix = time();
$json = json_decode(file_get_contents('http://guidatv.sky.it/app/guidatv/contenuti/data/grid/'.date('y_m_d').'/ch_'.$channel.'.js'));
//print_r($json);
echo '<ul>';
foreach ($json as $data) {
echo '<li>';
foreach ($data->plan as $prog) {
if ($current_unix < $prog->starttime) {
echo $prog->id . '<br>';
echo $prog->starttime . '<br>';
echo $prog->dur . '<br>';
echo $prog->desc . '<br>';
if (isset($prog->genre)) {
echo $prog->genre . '<br>';
}
}
}
echo '</li>';
}
echo '</ul>';
?>
你能帮我解决这个问题呢?谢谢
这是一个完整的JSON样本?因为你给定的JSON是无效的。 – invisal
嗨,在这里你可以找到完整的JSON:http://guidatv.sky.it/app/guidatv/contenuti/data/grid/17_04_22/ch_6280.js – fredix11