JSON (JavaScript Object Notation) — это формат передачи данных, который используется при взаимодействии веб-сервера и браузера.
До создания формата JSON веб-сайты работали медленно. Каждый запрос пользователя к серверу требовал повторной отправки в браузер обновленной HTML-страницы. AJAX-запрос, использующий формат JSON, выполняется в фоновом режиме, поэтому страница не перезагружается. Сегодня JSON — это стандарт передачи данных в интернете.
Основа JSON — это синтаксис объектов JavaScript, которые используются в языке для представления данных. Данные в формате JSON хранятся как пары «ключ:значение» и упорядоченные списки.
Значениями в JSON могут быть:
- JSON-объекты — неупорядоченные множества пар «ключ:значение», разделенные запятыми;
- массивы — упорядоченные коллекции значений, заключенные в квадратные скобки, значения разделены запятыми;
- числа — целые или с плавающей запятой;
- логический тип данных — true и false;
- строки — заданные последовательности из символов Юникода (стандарт кодирования символов), заключенные в две двойные кавычки;
- значение Null — показывает отсутствие информации.
JSON поддерживают большинство современных языков программирования. Он доступен либо по умолчанию, либо с помощью специальных библиотек.
Структура JSON
JSON-файл — это строка. Для работы с данными в этом формате нужно использовать методы глобального объекта JSON.
Чтобы отправить по сети объект JavaScript, его нужно преобразовать в JSON (строку). Для этого используется метод stringify(), который принимает объект в качестве параметра и возвращает строку JSON.
let student = {
name: ‘Max’,
age: 28,
isAdmin: false,
courses: [‘html’, ‘css’, ‘js’],
wife: null
};
let json = JSON.stringify(student);
alert(json);
/* выведет объект в формате JSON:
{
«name»: «Max»,
«age»: 28,
«isAdmin»: false,
«courses»: [«html», «css», «js»],
«wife»: null
}
*/
Для превращения данных, полученных в JSON-формате от сервера, в объект JavaScript применяется метод parse(). Он работает по аналогии со stringify(), принимая строку в качестве аргумента и возвращая объект.
Общие правила создания JSON-файла описывает RFC-стандарт:
- данные записаны в виде пар «ключ:значение»;
- данные разделены запятыми;
- объект находится внутри фигурных скобок {};
- массив находится внутри квадратных скобок [].
Есть и другие моменты:
- В JSON-формате используют двойные кавычки (“), одиночные кавычки (‘) не подходят. Но кавычки не нужны для любых значений, не являющихся строкой, — чисел, массивов, булевых значений.
- Одна лишняя или пропущенная запятая или скобка могут привести к сбою работы JSON-файла.
- JSON-формат не поддерживает комментарии. Добавление комментария вызовет ошибку.
- Автоматически сгенерированный JSON-файл не должен содержать ошибок, его лучше тоже проверить с помощью валидатора JSONLint.
Эти правила JSON обеспечивают надежность и скорость реализации алгоритма кодирования и чтения.
Способы хранения данных JSON
Хранимые данные могут быть организованы в виде объекта и массива. Базовый формат — это объект, на что указывают фигурные скобки:
{
«firstName»:»Tom»,
«lastName»:»Jackson»,
«gender»:»male»
}
В этом объекте три пары ключей и значений, разделенные запятыми. Значения в этом примере — строки, поэтому они заключены в кавычки, так же как и ключи.
Массив — это способ хранения данных с более сложной структурой. Вот пример:
{
«firstName»:»Tom»,
«lastName»:”Jackson”,
“gender”:”male”,
«hobby»:[«football», «reading», «swimming»]
}
В четвертой паре ключей “hobby” — это ключ, а значение — массив в квадратных скобках.
Массивы поддерживают цикл for, с помощью которого можно быстро найти нужные данные.
Принцип работы JSON
Данные в формате JSON передаются с сервера в браузер с помощью таких API (Application Programming Interface), как XMLHttpRequest или более современная Fetch API. Вот как это работает:
- Пользователь кликает по заголовку или карточке товара и отправляет запрос на сервер.
- API генерирует запрос с использованием JavaScript.
- Сервер обрабатывает полученный запрос и формирует ответ в виде данных в JSON-формате.
- Получив данные от сервера, браузер с помощью JavaScript оборачивает эти данные в HTML-теги и обновляет страницу в фоновом режиме, без перезагрузки.
Преимущества использования JSON
- JSON — это компактный формат. С ним большие объемы данных быстро обмениваются между браузером и веб-сервером.
- С JSON-файлами можно работать не только методами JavaScript. Почти у всех языков есть инструменты для чтения и генерации данных JSON.
- Хранение и экспорт данных в JSON поддерживают современные реляционные базы данных, такие как PostgreSQL и MySQL.
Как открыть JSON-файл на компьютере
Открыть, посмотреть или отредактировать файл с расширением .json можно с помощью любого текстового редактора, Notepad++, Sublime Text, Atom и других. Самый простой вариант — использовать Блокнот, встроенный в операционную систему Windows, или Apple TextEdit на МасOS.
Чтобы создать файл, нужно при сохранении выбрать тип файла «Все файлы» и самостоятельно дописать нужное расширение — .json.

Более подробная информация есть на официальном сайте JSON или на популярных ресурсах, посвященных веб-разработке, таких как Developer.mozilla или Хабр.
0 комментариев