2014-04-22 74 views
0

我试图用PHP通过一堆这种JSON代码(通过url)foreach循环;JSON解码子阵列

{ 
"abc": [{ 
    "a": "1", 
    "b": [{ 
     "ba": 1, 
     "bb": 2 
    }], 
    "c": 3, 
    "d": [{ 
     "da": 4, 
     "db": 5 
    }, 
    { 
     "dc": 6, 
     "dd": 7 
    }], 
    "e": 8, 
    "f": 9, 
}] 

我能得到 “A”, “C”, “E” 和 “F” 的核心价值观。

我使用此代码来实现;

$url = 'http://url.com/json'; 

$jsondata = file_get_contents($url); 

$jso = json_decode($jsondata, TRUE); 

$data = $json['abc']; 

foreach ($data as $feature) 
{ 
echo $feature['a']; 
} 

当我尝试echo $feature['b']'数组'显示。 $feature['ba']显示Undefined index: ba in <b>x:/test.php</b> on line x

+0

你到底想达到什么目的?预期的结果是什么? –

+0

试试这个:'$ feature ['b'] ['ba']' – Dinistro

回答

1

如果循环使用$json["abc"][0]键将是a,b,c,d,e和f。

$url = 'http://url.com/json'; 
$jsondata = file_get_contents($url); 
$json = json_decode($jsondata, TRUE); 

$data = $json['abc'][0]; 
foreach ($data as $key => $value) { 
    var_dump($key, $value); 
} 

"ba"是:$json["abc"][0]["b"][0]["ba"]

"dc"是:$json["abc"][0]["d"][1]["dc"]

+0

感谢您的快速回复!你的见解帮了我很大的忙! – Ruudvddries