2013-05-28 16 views
-1

以下JSON數據,我用以下結構如何以檢索在PHP

{ 

    "page": 0, 
    "items": 43, 
    "total": 43, 
    "incentiveItems": { 
     "incentiveItem": [ 
      { 
       "@id": "1111", 
       "name": "...", 
       "program": { 
        "@id": "6765", 
        "$": "NAME" 
       }, 
       "admedia": { 
        "admediumItem": { 
         ... 

多,來解析在PHP我做一個簡單的foreach的數據可以JSON數據...

$obj = json_decode($jsonData); 
echo $obj->items; 
echo '<table><tr><td>Nome</td><td>Descrizione</td><td>Codice</td></tr>'; 
foreach($obj->incentiveItems->incentiveItem as $programma ) { 

所以,問題是,我不能叫「$」:「NAME」的值,堂妹,如果我使用(前)

$programma->program->$ 
$programma->program['$'] 
$obj->incentiveItems->incentiveItem->program->$ or ['$'] 

它崩潰

與@id字段相同。

有人可以幫我嗎?由於

回答

0

酪氨酸解碼JSON作爲關聯數組:

$obj = json_decode($jsonData, true); 
echo $obj['items']; 
echo '<table><tr><td>Nome</td><td>Descrizione</td><td>Codice</td></tr>'; 
foreach($obj['incentiveItems']['incentiveItem'] as $programma ) { 
    echo $programma['@id']; 
+0

感謝。解決了! – Pigi

0

我相信你可以使用單引號和大括號來訪問它

$obj->incentiveItems->incentiveItem->program->{'$'} 

$obj->incentiveItems->incentiveItem->program->{'@id'} 
+0

謝謝,它的岩石 – Pigi

+0

@Pigi不要忘記upvote /接受任何有用的答案(我的或其他):) – fullybaked