Работа с JSON в PHP

JSON (англ. JavaScript Object Notation) — текстовый формат обмена данными, основанный на JavaScript и обычно используемый именно с этим языком. Как и многие другие текстовые форматы, JSON легко читается людьми.

Несмотря на происхождение от JavaScript (точнее, от подмножества языка стандарта ECMA-262 1999 года), формат считается языконезависимым и может использоваться практически с любым языком программирования. Для многих языков существует готовый код для создания и обработки данных в формате JSON.

Практическая польза использования JSON открывается при использовании технологии AJAX. Формат JSON является более кратким и удобочитаемым по сравнению с XML, является «родным» для Javascript. Кроме того, в JSON-код возможна вставка вполне работоспособных функций.

Вид данных в формате JSON

JSON поддерживает все основные форматы данных: строки, числа, булевые значения, а так же массивы и объекты (комбинации ключ: значение, разделенные запятыми и заключающимися в фигурные скобки).

Приведем пример представления данных в формате JSON:

Давайте разберем, что этой строкой можно передать: человек с именем «ivan», под идентификатором «1», проживающий в стране «Russia» работает в компании «yandex» в отделе «management».

Приведем еще один пример. На сайте имеется форма обратной связи, работающая по технологии AJAX. Посетитель заполняет информацию, далее она отправляется на сервер для проверки, если ошибок не найдено, информация сохраняется в базу данных и отправляется ответ об успешном сохранении. Но если найдены ошибки, то возвращается ответ с типами ошибок.

Пример ответа об ошибке в формате JSON:

Что, к примеру, означает:

Необходимо заполнить поле «Контактное лицо»
Необходимо заполнить поле «E-mail»
Необходимо заполнить поле «Телефон»
Введите текст сообщения
Необходимо заполнить поле «Число на картинке»

В случае, если ошибок нет, то возвращается ответ:

Что говорит об успешной отправке данных.

В PHP, для представления данных в формате JSON служит расширение JSON extension. В версиях PHP старше 5.2.0 поддержка JSON встроена в ядро, в более ранних версиях необходимо подключать к вашему скрипту дополнительный файл с функциями.

Итак в PHP, за работу с данными в формате JSON отвечают две функции: json_encode() и json_decode().
Конвертация данных в формат JSON

Обратное преобразование данных из формата JSON

Теперь в $obj будут содержаться JSON данные переведенные в PHP-объект, доступ к которым вы сможете получить следующим образом:

Как видите, $obj->office является массивом.

Работа с JSON позволяет обмениваться с сервером данными в «чистом виде». Полностью отпадает необходимость пересылать громоздкие куски HTML кода.

Получение json с внешнего ресурса (url):

Информация частично заимствована с http://www.codeisart.ru/blog/creating-parsing-json-data-php/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.