Данные – основной элемент при работе с IT. Каждый администратор и программист должен грамотно обрабатывать цифровую информацию. Это же относится к приложениям. Необходимо научиться грамотно переводить заполненные данными структуры на любом языке в форматы, распознаваемые другими платформами и языками. Для этого используются различные компоненты обмена данными. Пример – JSON.
Далее предстоит познакомиться с объектами JSON более подробно. Нужно выяснить, что они собой представляют, как реализовываются, для чего используются в том или ином случае. А еще – изучить их преимущества и недостатки. Соответствующая информация пригодится как опытным специалистам, так и новичкам.
Определение
Данные JSON (или JavaScript-Object-Notation) – это специальный текстовый формат обмена данными. Он базируется на JavaScript. Такой формат с легкостью распознается человеком, как и другие текстовые форматы.
Появился JSON благодаря Дугласу Крокфорду. Несмотря на то, что формат произошел от JavaScript (подмножества языка стандарта ECMA-262 от 1999 года), JSON выступает в качестве независимого элемента. Он может использоваться большинством языков разработки. Для некоторых из них поддерживаются готовые блоки кода для создания и обработки информации JSON.
JavaScript Object Notation – формат, который представляет собой набор пар «ключ-значение». В качестве ключа используется строка (всегда). Значением выступает один из следующих типов:
- объект;
- массив;
- логическое значение;
- строка;
- число;
- нулевое значение (null).
При составлении формата JSON необходимо запомнить несколько правил. Пример – ключи будут прописываться в двойных кавычках, а значение от key отделяется двоеточием. Допускается использование нескольких пар «ключ-значение». При подобных обстоятельствах каждая пара должна отделяться запятой.
Также необходимо помнить, что в данных JSON нельзя использовать комментарии. Это ограничение можно обойти, но делать так не рекомендуется.
Области применения
Структура данных Джейсон более лаконична, чем XML. За счет этого рассматриваемый вариант представления информации служит более подходящим при сериализации сложных структур. Используется в веб-программировании для обмена данными между серверами (AJAX) и браузерами, а также между программными HTTP-сопряжениями.
Формат JSON – подмножество синтаксиса языка JavaScript. Его можно использовать при разработке на соответствующем ЯП за счет десериализации. За нее отвечает функция JSON.parse().
Примеры использования
Данные JSON чаще всего используются для пересылки информации от серверов к браузерам. Обычно они доставляются через AJAX, который дает возможность обмениваться данными браузеру и серверу. Перезагрузка страницы для этого не потребуется ни при каких обстоятельствах.
Примеры использования данных JSON:
- Пользователь нажимает на кнопку с миниатюрой продукта в интернет-магазине.
- JavaScript, который ранее выполнялся в браузере, генерирует AJAX-запрос к PHP-скрипту, который был запущен на сервере. В итоге передается ID выбранного продукта.
- PHP-скрипт получает название продукта, его стоимость, описание и иные сведения из базы данных. Далее составляет строку формата JSON и отсылает ее браузеру.
- JavaScript, который ранее выполнялся в браузере, получает строку данных, декодирует ее и выводит информацию о продукте на пользовательской странице.
Объекты JSON можно использовать также для отправки информации от браузера на сервер. Для этого соответствующий элемент передается в виде параметра запросов GET или POST. Соответствующий прием имеет меньшее распространение. Это связано с тем, что за счет AJAX-запросов работа с JSON-объектами может быть значительно упрощена. Пример – ID продукта может быть включен в URL-адрес как часть GET-запроса.
В библиотеке jQuery имеются несколько методов, упрощающих получение данных через JSON и AJAX. Примеры – getJSON или parseJSON.
Синтаксическая форма
Текст JSON в закодированной форме может иметь два синтаксиса:
- Набор пар «ключ: значение». Реализован такой синтаксис у большинства языков в виде записей, структур, словарей, хеш-таблиц, списков с ключами и ассоциативными массивами. Ключом может выступать только строка (регистрозависимость не установлена стандартом, этот вопрос остается на усмотрение отдельно взятого программного обеспечения), значением – любая форма. Обычно регистр в строках учитывается приложениями. Имена с буквами в разных регистрах рассматриваются как разные элементы. «Названия» у данных JSON повторяться могут, но задействованный стандарт рекомендует избегать соответствующих ситуаций. Обработка ключей с одинаковыми именами будет осуществляться за счет особенностей функционирования используемой программы. Примеры – учитывать только первый ключ, принимать во внимание только последний ключ, выдать сообщение об ошибке.
- Упорядоченный набор значений. В большинстве языков им выступают вектор, список, последовательность или массив.
Структуры данных формата JSON поддерживаются любым современным языком разработки. Это позволяет использовать рассматриваемый элемент для обмена данными между различными ЯП и программными системами.
Подробнее о значениях
Какие структуры могут выступать в виде значений объектов JSON, понятно. Вот более подробная информация о каждом из них:
- Запись. Представляет собой неупорядоченное множество пар «ключ: значение», которое заключается предварительно в фигурные скобки. Ключи описываются строками, между ними и значением ставится двоеточие. Пары «ключ-значение» будут отделяться друг от друга запятыми.
- Массив одномерный. Является упорядоченным множеством значений. Массив пишется в квадратных скобках, а его значения отделяются друг от друга запятыми. Соответствующий элемент может быть пустым – не включать в свой состав ни единого значения. В пределах одного массива значения бывают самых разных типов.
- Число. Тип данных, который может представлять целое или вещественное значение.
- Литералы: true/false (логическая истина/ложь) или null.
- Строка. Так называется упорядоченное множество из нуля или некоторого количества символов в Unicode, которое заключается в двойные кавычки. Символы здесь могут быть указаны посредством escape-последовательностей, начинающихся с обратного слеша («\»). Они также записываются шестнадцатеричным кодом в кодировке Unicode в виде \uFFF.
Строки напоминают литералы одноименного типа данных в JavaScript, а число – JavaScript-число, за исключением того, что применяется только десятичный формат. В качестве разделителя в соответствующем случае выступит точка. Пробелы могут быть вставлены между любыми двумя синтаксическими элементами.
Преимущества
Объекты JSON используются для информационного обмена со структурированной информацией. Они хранятся в отдельном файле или строке кода.
У рассматриваемого формата имеется ряд преимуществ. К ним относят следующие особенности:
- Компактное хранение. Объекты JSON занимаются немного места на устройстве и быстро компилируются.
- Понятная процедура создания. Сюда же относится элементарная реализация и легкое чтение. Работать с данными типа JSON сможет даже начинающий программист. Чтение таких документов может осуществляться человеком за счет простейшей формы представления данных.
- Возможность преобразования для считывания на самых разных языках разработки. Почти все современные ЯП умеют работать с JSON Data.
Также преимуществом можно назвать и то, что у практически всех языков имеются библиотеки и иные инструменты, позволяющие считывать и обрабатывать рассматриваемый формат.
Как открыть
Расширение JSON может быть с легкостью открыто на компьютере любым пользователем. Для этого допустимо задействовать любой редактор текста. Самый простой вариант – использовать «Блокнот» от Windows. По умолчанию файлы JSON будут отображаться как документы с невыбранной программой открытия. При попытке его активации система предложит указать, с каким ПО работать далее. Среди доступных вариантов нужно выбрать «Блокнот».
Также можно задействовать известный текстовый редактор с поддержкой синтаксиса разных языков программирования – Notepad++. Он прекрасно подходит для работы с JSON-объектами.
Как создать
Для создания документа рассматриваемого формата, можно также использовать любой текстовый редактор. Пример – «Блокнот».
При сохранении объекта JSON необходимо выбрать тип документа «Все…». Далее – самостоятельно задать рассматриваемый формат. После сохранения текстовый документ будет обрабатываться соответствующим образом.
Примеры
Для чего нужен JSON, понятно. И как создать его вручную – тоже. Теперь можно изучить несколько примеров формата JSON. Вот первый вариант. Он позволяет создавать документ employee.json с атрибутами сотрудников. Здесь используется синтаксис «ключ:значение»:
Здесь:
- Name – имя сотрудника. Представляется строкой.
- Id – идентификатор подчиненного. Он тоже представлен в виде строки.
- Role – роли, которые выполняются каждым человеком. Их может быть несколько, поэтому соответствующую структуру лучше представлять в виде массива.
- Age – возраст. Представляет собой число.
- Doj – дата трудоустройства человека. Добавляется в двойных кавычках и обрабатывается как строка.
- Married – семейное положение. Указывает, женат ли сотрудник. В качестве ответа да/нет используется логический формат.
- Address – адрес места жительства человека. Это объект с парами «ключ-значение».
- Referred-by – идентификатор сотрудника, который порекомендовал этого человека в компанию. Если рекомендации отсутствуют, поле будет представлено null.
Теперь необходимо создать набор данных JSON. Если о разных сотрудниках добавляются несколько записей, необходимо записать их в квадратных скобках:
Необходимо обратить внимание на referred-by для Боба Вашингтона. Оно будет пустым. Это значит, что человек пришел в компанию без рекомендаций.
Теперь понятно, что собой представляет файл JSON, а также для каких целей он предназначается. Джейсон позволяет обрабатывать информацию и обмениваться ей в клиент-серверных моделях, он создается и корректируется. Лучше разобраться с ним помогут компьютерные дистанционные курсы. На них программистов среди всего прочего научат работать с данными JSON на выбранном языке.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!