循环遍历JSON文件中的名称

时间:2014-03-14 09:56:59

标签: php json

我需要从此JSON文件中的每一行中提取“name”值。

我在下面使用了以下代码,但似乎无法获得正确的值

 $json="{"minlon":-0.352323,"minlat":51.277789,"maxlon":0.147677,"maxlat":51.777789,"searchlon":-0.102323,"searchlat":51.527789,"page":1,"rpp":25,"total":362,"request_time":"2014-03-14T09:35:07+00:00","stations":[
   {"station_code":"ZFD","atcocode":null,"tiploc_code":"FRNDNLT","name":"Farringdon (London)","mode":"train","longitude":-0.105205,"latitude":51.520165,"distance":1401},
{"station_code":"OLD","atcocode":null,"tiploc_code":"OLDST","name":"Old Street","mode":"train","longitude":-0.088535,"latitude":51.52583,"distance":1574},
{"station_code":"KGX","atcocode":null,"tiploc_code":"KNGX","name":"London Kings Cross","mode":"train","longitude":-0.122926,"latitude":51.530882,"distance":2359},
{"station_code":"EXR","atcocode":null,"tiploc_code":"ESSEXRD","name":"Essex Road","mode":"train","longitude":-0.096276,"latitude":51.540704,"distance":2407},
{"station_code":"CTK","atcocode":null,"tiploc_code":"CTMSLNK","name":"City Thameslink","mode":"train","longitude":-0.10359,"latitude":51.513934,"distance":2483},
{"station_code":"STP","atcocode":null,"tiploc_code":"STPADOM","name":"London St Pancras","mode":"train","longitude":-0.126463,"latitude":51.532512,"distance":2817},
{"station_code":"BFR","atcocode":null,"tiploc_code":"BLFR","name":"London Blackfriars","mode":"train","longitude":-0.103332,"latitude":51.511808,"distance":2861},
  {"station_code":"STP","atcocode":null,"tiploc_code":"STPX","name":"London St Pancras","mode":"train","longitude":-0.127189,"latitude":51.532389,"distance":2888},
{"station_code":"STP","atcocode":null,"tiploc_code":"STPXBOX","name":"London St Pancras","mode":"train","longitude":-0.127343,"latitude":51.532166,"distance":2893},
 {"station_code":"LST","atcocode":null,"tiploc_code":"LIVST","name":"London Liverpool Street","mode":"train","longitude":-0.081426,"latitude":51.517989,"distance":2913},

                  {"station_code":"HOX","atcocode":null,"tiploc_code":"HOXTON","name":"Hoxton","mode":"train","longitude":-0.075682,"latitude":51.53151,"distance":3040}
 ]}";
 $obj = json_decode($json);

foreach($obj>stations as $item) {  

}

1 个答案:

答案 0 :(得分:2)

围绕单引号而不是双引号包装JSON数据。

foreach($obj->stations as $item)
{
    echo $item->name;
    echo "<br>";
}

Demo

<强> OUTPUT :

Farringdon (London)
Old Street
London Kings Cross
Essex Road
City Thameslink
London St Pancras
London Blackfriars
London St Pancras
London St Pancras
London Liverpool Street
Hoxton