2013-07-05 2 views
-2

Я хочу отобразить следующие значения из файла this json.
Titel
datum_start
datum_end
Я использую этот код:Parse JSON TV Guide с PHP

<?php 
$nl1jsonurl='http://www.tvgids.nl/json/lists/programs.php?channels=1'; 
$nl1jsontext=file_get_contents($nl1jsonurl,true); 

$nl1 = json_decode($nl1jsontext); 
foreach($nl1->1 as $data) 
{ 
    echo $data->titel . "\n"; 
    echo $data->datum_start . "\n"; 
    echo $data->datum_end . "\n"; 

} 
?> 

Пример JSON:

{ 
    "1": [ 
     { 
      "db_id": "14612024", 
      "titel": "NOS Journaal", 
      "genre": "Nieuws/actualiteiten", 
      "soort": "", 
      "kijkwijzer": "", 
      "artikel_id": null, 
      "artikel_titel": null, 
      "datum_start": "2013-07-05 00:10:00", 
      "datum_end": "2013-07-05 00:35:00" 
     }, 
     { 
      "db_id": "14642893", 
      "titel": "NOS Studio Sportzomer: De Avondetappe", 
      "genre": "Sport", 
      "soort": "", 
      "kijkwijzer": "", 
      "artikel_id": "58162", 
      "artikel_titel": "Sprinten in Montpellier", 
      "datum_start": "2013-07-05 00:35:00", 
      "datum_end": "2013-07-05 01:30:00" 
     } 
    ] 
} 
+1

И вопрос * iiiiis *? –

+1

Там есть вопросительный знак, прямо на линии 2. Вопрос: «php». Ответ - да. – neokio

+0

может быть, это даст вам ошибку о том, что stClass не может преобразовать в строку, попробуйте этот '$ nl1 = json_decode ($ nl1jsontext, true);' – dakshbhatt21

ответ

-2

Это может поможет вам

<?php 
$nl1jsonurl='http://www.tvgids.nl/json/lists/programs.php?channels=1'; 
$nl1jsontext=file_get_contents($nl1jsonurl,true); 

//decode the content lke this 
$nl1 = json_decode($nl1jsontext, TRUE); 

//print_r($nl1); 

foreach($nl1['1'] as $data) 
{ 
    echo $data['title'] . "\n"; 
    echo $data['datum_start'] . "\n"; 
    echo $data['datum_end'] . "\n"; 

} 
1

Поскольку ваш JSON имеет свойство с именем 1, вы должны получить доступ к нему так:

foreach($nl1->{'1'} as $data) 

PHP будет генерировать синтаксическую ошибку, если вы попытаетесь использовать $nl1->1.