2010-08-24 32 views
6

Tôi đã một mã JSON lồng nhau như (nó thực sự cập nhật trạng thái facebook của tôi)PHP decode lồng 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" 
       } 
      ], 

     } 
     } 
] 

Bây giờ làm thế nào để truy cập vào những ý kiến ​​cho một bản cập nhật đặc biệt và in nó thông qua một vòng lặp ?? (Tôi đang nói nói một vài cập nhật cùng một lúc).

Trả lời

16

Sử dụng 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

Bạn có thể sử dụng hàm json_decode để chuyển đổi thành mảng và sau đó lặp qua mảng bằng cách sử dụng vòng lặp foreach.

$array = json_decode($json, true); 

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

Tùy chọn thứ hai là json_decode là bạn có muốn chuyển đổi nó thành mảng hay không.