Intereting Posts
Несколько полей для одного атрибута Чтение электронной почты через IMAP в PHP Ковариация типов параметров в специализациях Автоматизировать разрешение Entrust с доступом к параметрам имени маршрута и проверить разрешение пользователя Загрузка и загрузка изображений в PHP и JQuery Создайте анимированный .gif из .jpeg / png Выход PHP DomDocument без <? Xml version = "1.0" encoding = "UTF-8"?> Как предотвратить ошибку страницы обновления при отправке формы POST? Сайт CodeIgniter в подкаталоге, файл htaccess может помешать файлу htaccess в главном каталоге? JSON PHP Array для Javascript PHP-эквивалент javascript >>> shift right с нулевыми заполняющими побитовыми операторами? Запуск ImageMagick на XAMPP 1.8.3 с Windows 7 Создание множества элементов DOM. какой метод быстрее? Эхо по HTML или с использованием класса PHP DOM? Насколько безопасна функция завитки от обнюхивания? Отправка данных в веб-службу с использованием сообщения

Получить данные из файла JSON с помощью PHP

Я пытаюсь получить данные из следующего файла JSON с помощью PHP. Я специально хочу «temperatureMin» и «temperatureMax».

Это, наверное, очень просто, но я понятия не имею, как это сделать. Я застрял в том, что делать после file_get_contents ("file.json"). Некоторая помощь будет принята с благодарностью!

{ "daily": { "summary": "No precipitation for the week; temperatures rising to 6° on Tuesday.", "icon": "clear-day", "data": [ { "time": 1383458400, "summary": "Mostly cloudy throughout the day.", "icon": "partly-cloudy-day", "sunriseTime": 1383491266, "sunsetTime": 1383523844, "temperatureMin": -3.46, "temperatureMinTime": 1383544800, "temperatureMax": -1.12, "temperatureMaxTime": 1383458400, } ] } } 

Получите содержимое файла JSON с помощью file_get_contents() :

 $str = file_get_contents('http://example.com/example.json/'); 

Теперь декодируем JSON с помощью json_decode() :

 $json = json_decode($str, true); // decode the JSON into an associative array 

У вас есть ассоциативный массив, содержащий всю информацию. Чтобы выяснить, как получить доступ к необходимым вам значениям, вы можете сделать следующее:

 echo '<pre>' . print_r($json, true) . '</pre>'; 

Это позволит распечатать содержимое массива в удобном для чтения формате. Затем вы получаете доступ к элементам, которые вы хотите, например:

 $temperatureMin = $json['daily']['data'][0]['temperatureMin']; $temperatureMax = $json['daily']['data'][0]['temperatureMax']; 

Или прокрутите массив, как вы хотите:

 foreach ($json['daily']['data'] as $field => $value) { // Use $field and $value here } 

Демо!

Используйте json_decode, чтобы преобразовать JSON в массив PHP. Пример:

 $json = '{"a":"b"}'; $array = json_decode($json, true); echo $array['a']; // b 
 Try: $data = file_get_contents ("file.json"); $json = json_decode($data, true); foreach ($json as $key => $value) { if (!is_array($value)) { echo $key . '=>' . $value . '<br/>'; } else { foreach ($value as $key => $val) { echo $key . '=>' . $val . '<br/>'; } } }