Intereting Posts

Получить данные json с помощью PHP

У меня есть json-файл, и я хочу отображать его с помощью PHP. Мой ниже код дает мне ошибку,

$json = file_get_contents('data.json'); $data = json_decode($json,true); $users = $data['devices']; foreach($users as $user) { echo $user['id']; echo $user['user']; } 

Когда я заменяю третий LOC на $users = $data['user']; то он отображает некоторые данные с одним алфавитом, я не знаю, в каком порядке.

Файл Data.json содержит следующие данные:

 { "user": { "id":"#03B7F72C1A522631", "user":"test@mail.com", "password":"123", "email":"test@mail.com", "name":"m", "creationDate":1385048478, "compression":true, "imageProfile":"medium", "videoProfile":"medium", "blockAdvert":true, "blockTracking":true, "devices":[ { "id":"#13C73379A7CC2310", "udid":"cGMtd2luNi4xLV", "user":"test@mail.com", "creationDate":1385048478, "status":"active", }, { "id":"#FE729556EDD9910D", "udid":"C1N1", "user":"test@mail.com", "creationDate":1385291938, "status":"active", }] }, "status": { "version":"0.9.5.0", "command":"getuser", "opf":"json", "error":false, "code":0 } } 

Я думаю, что вам может понадобиться отобразить всю информацию об devices , вы можете изменить свой код на:

 $json = file_get_contents('data.json'); $data = json_decode($json,true); // change the variable name to devices which is clearer. $devices = $data['user']['devices']; foreach ($devices as $device) { echo $device['id']; echo $device['user']; } 

Я считаю, что вы пропустили 1 узел, попробуйте:

 $users = $data['user']['devices']; 

Это должно работать;

 $json = file_get_contents('data.json'); $data = json_decode($json,true); $users = $data['user']['devices']; foreach($users as $user) { echo $user['id']; echo $user['user']; } 

Перед «устройствами» есть один ключ.

Вы не получаете доступ к своему json правильно. Вам нужно получить к нему доступ так.

 $yourVariable = $data['users']['devices']; 

Попробуй это.