Главная » 2011 » Октябрь » 5 » Создание и разбор данных формата JSON в PHP
16:37
Создание и разбор данных формата JSON в PHP
В этой статье я хочу рассказать о текстовом формате обмена данными — JSON, а именно — про работу с этим форматом в PHP.

JSON — компактный текстовый формат данных. Может применяться как в интернет-службах передачи данных, так и для хранения информации в структурированном виде.

Описание JSON из википедии:
JSON (англ. JavaScript Object Notation) — текстовый формат обмена данными, основанный на JavaScript и обычно используемый именно с этим языком. Как и многие другие текстовые форматы, JSON легко читается людьми.
Несмотря на происхождение от JavaScript (точнее, от подмножества языка стандарта ECMA-262 1999 года), формат считается языконезависимым и может использоваться практически с любым языком программирования. Для многих языков существует готовый код для создания и обработки данных в формате JSON.
Практическая польза использования JSON открывается при использовании технологии AJAX. Формат JSON является более кратким и удобочитаемым по сравнению с XML, является «родным» для Javascript. Кроме того, в JSON-код возможна вставка вполне работоспособных функций
.

Да, именно в технологии AJAX, на мой взгляд, его основное применение. Так как технология AJAX подразумевает отправку запроса клиентов на сервер. Далее на сервере запрос обрабатывается, и результат отправляется в ответ клиенту.
Вид данных в формате JSON

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

Приведем пример представления данных в формате JSON:
{"id":"1","name":"ivan","country":"Russia","office":["yandex","management"]}

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

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

Пример ответа об ошибке в формате JSON:
{"error":"1","errorcode":["empty_pers","empty_mail","empty_phone","empty_letter","empty_scode"]}

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

В случае, если ошибок нет, то возвращается ответ:
{"error":"0"}
Что говорит об успешной отправке данных.

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

Итак в PHP, за работу с данными в формате JSON отвечают две функции: json_encode() и json_decode().
Конвертация данных в формат JSON
$json_data = array ('id'=>1,'name'=>"ivan",'country'=>'Russia',"office"=>array("yandex"," management"));
echo json_encode($json_data);
Обратное преобразование данных из формата JSON
$json_string='{"id":1,"name":"ivan","country":"Russia","office":["yandex"," management"]} ';
$obj=json_decode($json_string);


Теперь в $obj будут содержаться JSON данные переведенные в PHP-объект, доступ к которым вы сможете получить следующим образом:
echo $obj->name; //Отобразит имя ivan
echo $obj->office[0]; //Отобразит компанию yandex


Как видите, $obj->office является массивом.
foreach($obj->office as $val)
echo $val;


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


Просмотров: 2791 | Добавил: AgManiX | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]