Intereting Posts
Как интерпретировать значение даты ввода HTML5 с помощью PHP Перемешивание массива php без того же значения до или после Резюме / CV Анализ в PHP Генерирование случайных чисел без повторов Автоматический скрипт обновления php / mysql с использованием XML / CSV / FTP Regex для соответствия ограничителей верхнего уровня в многомерной строке Лучший способ обработки хранения / отображения дат в разных часовых поясах в PHP? mongo Ошибка PHP-приложения: Неустранимая ошибка: исключить исключение «MongoException» с сообщением «». не разрешено в ключе Ограничения ключей (индексов) ассоциативного массива PHP? Отображать данные, собранные с MYSQL на страницу html с помощью AngularJs и PHP API HTML5 File – отправка файла на сервер для обработки Как преобразовать экспоненты в десятичные числа в PHP PHP-защита от mysql-инъекций Как декодировать escape-последовательности Unicode, такие как «\ u00ed», для правильных кодированных символов UTF-8? Где хранятся переменные $ _SESSION?

Обработка данных в объекте PHP JSON

Тренды данных из Twitter API поиска в JSON.

Схватив файл, используя:

$jsonurl = "http://search.twitter.com/trends.json"; $json = file_get_contents($jsonurl,0,null,null); $json_output = json_decode($json); 

Как работать с данными этого объекта. Как массив? Только действительно необходимо извлечь данные из значений [name].

Объект JSON содержит:

 stdClass Object ( [trends] => Array ( [0] => stdClass Object ( [name] => Vote [url] => http://search.twitter.com/search?q=Vote ) [1] => stdClass Object ( [name] => Halloween [url] => http://search.twitter.com/search?q=Halloween ) [2] => stdClass Object ( [name] => Starbucks [url] => http://search.twitter.com/search?q=Starbucks ) [3] => stdClass Object ( [name] => #flylady [url] => http://search.twitter.com/search?q=%23flylady ) [4] => stdClass Object ( [name] => #votereport [url] => http://search.twitter.com/search?q=%23votereport ) [5] => stdClass Object ( [name] => Election Day [url] => http://search.twitter.com/search?q=%22Election+Day%22 ) [6] => stdClass Object ( [name] => #PubCon [url] => http://search.twitter.com/search?q=%23PubCon ) [7] => stdClass Object ( [name] => #defrag08 [url] => http://search.twitter.com/search?q=%23defrag08 ) [8] => stdClass Object ( [name] => Melbourne Cup [url] => http://search.twitter.com/search?q=%22Melbourne+Cup%22 ) [9] => stdClass Object ( [name] => Cheney [url] => http://search.twitter.com/search?q=Cheney ) ) [as_of] => Mon, 03 Nov 2008 21:49:36 +0000 ) 

Solutions Collecting From Web of "Обработка данных в объекте PHP JSON"

Вы имеете в виду что-то вроде этого?

 <?php $jsonurl = "http://search.twitter.com/trends.json"; $json = file_get_contents($jsonurl,0,null,null); $json_output = json_decode($json); foreach ( $json_output->trends as $trend ) { echo "{$trend->name}\n"; } 

Если вы используете json_decode($string, true) , вы не получите никаких объектов, а все как ассоциативный или числовой индексный массив. Путь проще в обращении, поскольку stdObject, предоставляемый PHP, представляет собой не что иное, как немой контейнер с общедоступными свойствами, который не может быть расширен с помощью вашей собственной функциональности.

 $array = json_decode($string, true); echo $array['trends'][0]['name']; 

Просто используйте его, как будто это был объект, который вы определили. т.е.

 $trends = $json_output->trends; 

Чистым способом было бы:

 $jsonurl = 'http://search.twitter.com/trends.json'; $json = file_get_contents($jsonurl, 0, null, null); $json_output = json_decode($json, true); $trends = $json_output['trends']; foreach ($trends as $trend) { your_func($trend['name']); }