2013-05-28 2 views
-1

я имею следующие данные в формате JSON со следующей структуройКак retrive следующие данные JSON в PHP

{ 

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

и более, для синтаксического анализа данных в PHP я сделать простой Еогеасп ...

$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

Tyr декодирования 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 не забывайте поднимать/принимать любые полезные ответы (мои или иначе) :) – fullybaked

Смежные вопросы