Json在Php Foreach中解析

问题描述:

我有一个json数据,但我无法解析,因为第一个类型没有名称。Json在Php Foreach中解析

[ 
{"id":325,"distance":239,"text":"test","position":{"lat":2,"lon":3}}, 
{"id":333,"distance":123,"text":"test","position":{"lat":2,"lon":3}}, 
{"id":331,"distance":1,"text":"test","position":{"lat":2,"lon":3}} 
    ] 

PHP代码

$jsonurl = "url address"; 
$json = file_get_contents($jsonurl); 

$obj = json_decode($json,true); 

$it = "<ul>" 
    foreach ($obj[0] as $list) 
    { 
     $it .= "<h4>".$list['id']."</h4>" 
    } 

stdClass Object不是array,所以访问这个样子,

$it .= "<h4>".$list->id."</h4>"; 

,改变你的for循环这样

foreach ($obj as $list) 
      ^remove [0] here 

最后你的循环是这样的,

foreach ($obj as $list) 
{ 
    $it .= "<h4>".$list->id."</h4>" 
} 

看到demo here

+0

仅仅只是现在白屏:) – ZgrKARALAR

+0

如果你'的print_r($ OBJ)',你做了什么。在循环之前执行此操作。 –

+0

数组([0] =>数组([id] => 325 [distance] => 239 [text] => test [position] => Array([lat] => 2 [lon] => 3) 1] => Array([id] => 333 [distance] => 123 [text] => test [position] => Array([lat] => 2 [lon] => 3))[2] => Array([id] => 331 [distance] => 1 [text] => test [position] => Array([lat] => 2 [lon] => 3))) – ZgrKARALAR