Практика применения функции json_decode

Информацию со стороны клиента удобно отправлять на сервер в формате JSON, поскольку передача GET и POST-способами при большом количестве данных создает заметные неудобства. Формат JSON используется повсеместно, и применение функции PHP json_decode востребовано на стороне сервера.

AJAX или популярная библиотека

jQuery, AngularJS, Ember.js и другие библиотеки для расширения возможностей JavaScript автоматически формируют данные в формате JSON, имеют инструменты для их обработки и обеспечивают передачу результатов на сервер. Использование популярной библиотеки позволяет основываться на ее философии, каркасе данных и обеспечить безопасное и надежное использование JSON-формата. Применение на стороне сервера функции PHP json_decode будет максимально безопасным и простым.

Данные в формате JSON имеют привлекательный человеко-читабельный вид, опыт применения достаточно велик, использование кодировки UTF-8 делает возможным любую локализацию информации, включая трансформацию данных из одних региональных особенностей языка в другие. В отличие от популярных библиотек, «ручная работа» посредством AJAX (XMLHttpRequest) позволяет манипулировать структурой формата, допускает вольности в описании имен и значений.

Формат JSON нетребовательный к синтаксису, но все же при формировании данных следует придерживаться привычных правил кодирования: использовать фигурные скобки, двойные кавычки и отделять имена от значений двоеточием.

Требования к строке JSON

Общие правила использования формата несложно применять, их не так много. Кодировка - UTF-8, строка используется для «описания» массивов или объектов. Признак первых - применение квадратных скобок, признак вторых - фигурные скобки. Имена и значения разделяются двоеточием и заключаются в двойные кавычки.

Программист «сам додумывает», что понимать под массивом и под объектом, который будет разобран функцией PHP json_decode. Принципиально формат JSON появился от JavaScript и наследует его идеологию описания массивов и объектов. В контексте PHP, который располагает совсем другим представлением объектной ориентации, ответственность за то, как распознавать и как использовать функцию json_decode, лежит на программисте.

«Жизнь» объектов и JSON

Кардинальное отличие клиента от сервера, JavaScript от PHP в том, как «живут» в них объекты и циркулирует информация. При желании на PHP можно создать механизм, который будет функционировать вне клиента, но это экзотика! По общему правилу PHP делает страницу на ходу и каждый раз формирует новую систему объектов.

JavaScript работает всегда. Пока посетитель находится на веб-ресурсе, в его браузере работает система объектов, сформированная на сервере. И она функционирует постоянно, пока посетитель не уйдет на другой ресурс.

Система объектов JavaScript может стабильно формировать запросы на сервер, который будет их декодировать функцией json_decode и принимать надлежащие решения. Целесообразно построить адекватную серверную модель для обработки сообщений JSON и обеспечить дополнение клиентской реализации системы объектов.

Комментарии