У меня есть вложенный код JSON как (это фактически мои обновления статуса facebook)
{ "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" } ], } } ]
Теперь как мне получить доступ к комментариям для определенного обновления и распечатать его через цикл? (Я получаю пару обновлений одновременно).
Использовать 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 }
Вы можете использовать функцию json_decode
для преобразования ее в массив, а затем итерации по массиву с использованием цикла foreach
.
$array = json_decode($json, true); foreach($array as $key => $value) { // your code.... }
Второй вариант json_decode
– это то, хотите ли вы преобразовать его в массив.