2012-08-10 16 views
5

Il mio JSON ha questo aspetto. Come ottengo un campo specifico, ad es. "titolo" o "url"?Come ottenere singoli campi da JSON in PHP

{ 
"status":1, 
    "list": 
     { 
     "204216523": 
      {"item_id":"204216523", 
      "title":"title1", 
      "url":"url1", 
      }, 
     "203886655": 
      {"item_id":"203886655", 
      "title":"titl2", 
      "url":"url2", 
      } 
     },"since":1344188496, 
    "complete":1 
} 

So $result = json_decode($input, true); dovrebbero essere utilizzati per ottenere i dati analizzabili in $result, ma come faccio a ottenere i singoli campi su $result? Devo correre attraverso tutti i membri (2 in questo caso) e ricavarne un campo.

+2

[Che cosa hai provato?] (Http://www.whathaveyoutried.com) – Matt

risposta

6

json_decode() converte i dati JSON in un array associativo. Quindi, per ottenere il titolo & URL fuori dei propri dati,

foreach ($result['list'] as $key => $value) { 
    echo $value['title'].','.$value['url']; 
} 
+0

Esattamente quello che stavo cercando. Grazie per aver aiutato un n00b! – hari

1
echo $result['list']['204216523']['item_id']; // prints 204216523 
1

json_decode() traduce i dati JSON in un array. Trattalo come un array associativo perché è quello che è.