JSON на PHP и Java. Примеры
JSON – простой способ хранить/передавать структурированные данные, основанный на использовании текста. Благодаря простому синтаксису можно легко хранить все что вам нужно: от одного числа до строк, объектов и массивов в виде простого текста. Кроме того, можно связывать между собой объекты и массивы для создания сложных структур данных.
Создав строку JSON, вы можете легко отправить ее другой программе или в другое место сети, поскольку эта строка представляет собой обычный текст.
Полное название — JavaScriptObjectNotation (озн. представление объектов JavaScript). Уже по имени можно догадаться, что в его основе лежит способ определения объектов и массивов.
Основные преимущества JSON:
- Компактность.
- Легко читается. Предложения могут составляться и человеком и компьютером.
- Удобство и простота преобразования в структуру данных, которую поддерживают большинство языков программирования (строки, числа, массивы, логические переменные и т.д.).
- Библиотеки и функции для создания и чтения структур JSON имеют многие языки программирования.
Для какой цели применяется JSON?
Самое распространенное применения – передача данных от сервера к веб-браузеру. Как правило, данные JSONперердаются с помощью AJAX (обменданнымивозможенбезперезагрузкистраницы).
Пример использования JSON:
- Посетитель открывает миниатюру товара в интернет-магазине.
- JavaScript, выполняющийся в веб-браузере, генерирует запрос AJAX к скрипту PHP, запущенному на сервере, отправляя ID выбранного товара.
- PHP скрипт получает название товара, описание, стоимость и прочую инфу из базы данных. После чего составляет из данных строку JSON и отправляет ее веб-обозревателю.
- JavaScript, выполняющийся на веб-браузере, получает JSON, декодирует ее и выводит полученную информацию о товаре на странице для пользователя.
Не менее успешно используется JSON и для другой цели – отправка данных от веб-браузера на сервер, передавая строку JSON, как параметр запросов POST или GET. Однако такой метод не настолько распространен, поскольку передача данных посредством запросов AJAX может быть существенно упрощена. К примеру, ID товара может входить в URL-адрес, как часть запроса GET.
Существует несколько методов, поддерживаемых библиотекой jQuery, для упрощения получения данных с помощью JSON посредством запросов AJAX.
Как правильно создать строку JSON
Для создании строки JSON нужно придерживаться нескольких правил:
- Строка JSON содержит объект или массив значений (ассоциативный массив пар имя/значение).
- Массив должен заключаться в квадратные скобки и содержать список значений, разделенный запятой. ([ и ])
- Объект заключается в фигурные скобки и содержит список пар имя/значение, разделенных запятой. ({ и })
- Пара/имя/значение содержит имя поля в двойных кавычках, за которым идет двоеточие и значение поля.
- Значение в объекте или массиве бывает: числом (целым или же с плавающей точкой), логическим значением (false или true), строкой (в двойных кавычках), другим массивом (состоящим в квадратных скобках), другим объектом (в фигурных скобках).
- Значение null.
Простой пример строки JSON
{
«orderID»: 123,
«shopperName»: «Иван Иванов»,
«shopperEmail»: «ivanov@example.com»,
«contents»: [
{
«productID»: 34,
«productName»: «Супер продукт»,
«quantity»: 1
},
{
«productID»: 56,
«productName»: «Чудо продукт»,
«quantity»: 3
}
],
«orderCompleted»: true
}
Рассмотрим его по частям:
- В начале и конце применяются фигурные скобки { и }, дающие понять, что это объект.
- Внутри объекта содержится несколько пар имя/значение:
- «orderID»: 123 – поле с именем orderId и значение 123
- «shopperName»: «JohnSmith» – поле с именем shopperName и значение JohnSmith
- «shopperEmail»: «johnsmith@example.com» – как и в предыдущем поле, тут хранится email покупателя.
- «contents»: [ … ] – поле с именем content, значение которого массив.
- «orderCompleted»: true – поле с именем orderCompleted, значение которого true
- Внутри массива contents располагаются два объекта, отображающих содержимое корзины. Каждый объект товара имеет 3 свойства: productID, productName, quantity.
Поскольку JSON идентичен с объектами в JavaScript, вы можете взять данный пример и создать из него JavaScript объект:
<script type=»text/javascript»>
var cart = {
«orderID»: 12345,
«shopperName»: «John Smith»,
«shopperEmail»: «johnsmith@example.com»,
«contents»: [
{
«productID»: 34,
«productName»: «SuperWidget»,
«quantity»: 1
},
{
«productID»: 56,
«productName»: «WonderWidget»,
«quantity»: 3
}
],
«orderCompleted»: true
};
</script>
Заключение
Несмотря на то, что JSON простой в понимании и реализации, он является весьма полезным инструментом для передачи данных от приложения к компьютеру (особенно, используя AJAX). Если у вас в планах создание AJAX приложения, то JSON вам в этом сможет помочь.