2010-08-24 7 views
6

J'ai un code JSON imbriqué (il est en fait mes mises à jour de statut facebook)decode PHP imbriqué JSON

{ 
    "data": [ 
     { 
     "id": "1290561400000000", 
     "from": { 
      "name": "My name", 
      "id": "500920000" 
     }, 
     "message": "Message body", 
     "updated_time": "2010-08-24T08:22:13+0000", 
     "comments": { 
      "data": [ 
       { 
        "id": "129056140474641_8000", 
        "from": { 
        "name": "name1", 
        "id": "100000486072000" 
        }, 
        "message": "hahahahahahha..........", 
        "created_time": "2010-08-24T08:40:39+0000" 
       }, 
       { 
        "id": "129056140474641_8000000", 
        "from": { 
        "name": "name2", 
        "id": "1597542457" 
        }, 
        "message": "true ya. I have updated", 
        "created_time": "2010-08-24T08:59:53+0000" 
       }, 
       { 
        "id": "129056140474641_83000", 
        "from": { 
        "name": "Name3", 
        "id": "1000004860700000" 
        }, 
        "message": "am putting it on my wall....", 
        "created_time": "2010-08-24T09:01:25+0000" 
       } 
      ], 

     } 
     } 
] 

Maintenant, comment puis-je accéder aux commentaires pour une mise à jour particulière et l'imprimer à travers une boucle ?? (Je récupère dire quelques mises à jour en même temps).

Répondre

16

Utilisation json_decode():

$decoded = json_decode($json_string); 
$comments = $decoded->data[0]->comments->data; 
foreach($comments as $comment){ 
    $name = $comment->from->name; 
    $message = $comment->message; 
    //do something with it 
} 
2

Vous pouvez utiliser la fonction json_decode pour la convertir en tableau, puis itérer sur la baie à l'aide de la boucle foreach.

$array = json_decode($json, true); 

foreach($array as $key => $value) 
{ 
    // your code.... 
} 

La deuxième option à json_decode est de savoir si oui ou non vous voulez convertir en un tableau.