JSON формат
JSON (JavaScript Object Notation) — простой и универсальный способ структурировать данные.
На примерах вы поймете, как использовать устроен JSON, как его читать и писать.
JSON используется для описания любой структуры данных.
Пример JSON, который описывает адрес доставки
{
"country": "USA",
"zip": "62701",
"state": "IL",
"street": "123 Main St",
"city": "Springfield"
}Этот JSON описывает структуру адреса, как её может ожидать система оформления заказов:
- "country" — страна, в которую нужно доставить заказ;
- "zip" — почтовый индекс;
- "state" — штат или регион (в США обычно указывается сокращение из двух букв);
- "street" — улица и номер дома;
- "city" — город.
Такой формат часто используется в интернет-магазинах, службах доставки и CRM-системах для хранения и передачи информации о клиентах. Так удобно читать, обрабатывать и передавать между сервисами.
Фигурные скобки {} обозначают объект, а внутри него находятся пары "ключ-значение".
Ключи — это строки, которые описывают, что именно хранится в этом поле. В примере выше ключи — "country", "zip", "state", "street" и "city".
Значения могут быть разного типа: строки, числа, массивы и даже другие объекты. В примере все значения — строки, но в JSON могут быть и числа, логические значения (true/false), массивы и даже вложенные объекты.
Пример JSON с вложенностью и разными типами данных
{
"user": {
"id": 123,
"name": "Alice",
"email": "alice@example.com",
"isActive": true
},
"lastLogin": "2025-07-19T10:15:00Z",
"roles": [
"admin",
"editor"
],
"notes": null
}Этот JSON описывает пользователя и его данные:
- "user" — вложенный объект с данными пользователя;
- "id" — число;
- "name" и "email" — строки (текстовые значения);
- "isActive" — логическое значение (true). Логическое значение может быть только true или false, и используется для обозначения состояния (например, активен ли пользователь);
- "lastLogin" — дата и время в виде строки;
- "roles" — массив (список) строк;
- "notes" — пустое значение (null), если комментариев нет.
Тут мы видим, что JSON позволяет хранить сложные структуры с вложенными объектами и массивами.
Строки
Строки в JSON всегда заключаются в двойные кавычки ". Это важно, потому что одинарные кавычки не допускаются.
Пустая строка записывается как "", а строка с текстом — как "Hello, World!".
Числа
Числа в JSON записываются без кавычек. Они могут быть целыми или дробными, и могут включать отрицательные значения. Целое число может быть записано как 123, а дробное — как 45.67.
Логические значения
Логические значения в JSON обозначаются как true или false. Они не заключаются в кавычки и используются для обозначения состояния (например, активен ли пользователь).
Null значение
Значение null в JSON обозначает отсутствие значения. Оно не заключается в кавычки и используется, когда данные отсутствуют или не применимы.
Объекты
Объекты в JSON обозначаются фигурными скобками {}.
Они содержат пары "ключ-значение", где ключ — это строка, а значение может быть любого типа (строка, число, логическое значение, массив или другой объект).
Массивы
Массивы это список и в JSON обозначаются квадратными скобками [].
Они могут содержать значения любого типа, включая другие объекты и массивы.
Между элементами массива ставятся запятые. После последнего элемента запятая не ставится.
Основные правила JSON
- Ключ должен быть строкой, заключённой в двойные кавычки;
- Внутри одного объекта могут быть другие объекты, массивы и разные типы данных.
- Если значение текст (строка), оно должно быть заключено в двойные кавычки.
- JSON не поддерживает комментарии, поэтому нельзя добавлять пояснения внутри кода.
- JSON должен быть корректно отформатирован: все ключи и значения должны быть разделены двоеточием, а пары ключ-значение — запятыми.
- JSON чувствителен к регистру: "Name" и "name" — это разные ключи.
- JSON не допускает запятых после последнего элемента в объекте или массиве.
Пример JSON с массивом объектов
{
"cart": [
{
"productId": "A123",
"name": "Wireless Mouse",
"quantity": 2,
"price": 25.99
},
{
"productId": "B456",
"name": "Keyboard",
"quantity": 1,
"price": 45.00
}
],
"totalItems": 3,
"totalPrice": 96.98
}- "cart" — массив, внутри которого находятся два объекта (каждый описывает товар); Внутри каждого объекта есть строковые (productId, name) и числовые (quantity, price) поля;
- "totalItems" и "totalPrice" — итоговые значения для всего заказа.
Скобка отрылась, скобка закрылась
Работает простое правило — каждая открывающая фигурная { или квадратная [ скобка должна иметь соответствующую закрывающую } или ].
Для кавычек тоже есть правило: каждая открывающая кавычка " должна иметь соответствующую закрывающую кавычку ".
Парные скобки [] обозначают массив, который может содержать несколько элементов. В данном случае это список товаров в корзине.
Форматирование JSON
Форматирование JSON не влияет на его содержание. Вы можете записать JSON в одну строку или отформатировать его с отступами для удобства чтения.
Вариант 1. Отформатированный JSON в одну строку:
{"firstName":"John","lastName":"Doe","age":30,"city":"New York"}
Вариант 2. Отформатированный JSON с отступами:
{
"firstName": "John",
"lastName": "Doe",
"age": 30,
"city": "New York"
}Оба варианта одинаковы с точки зрения данных, но второй вариант удобнее читать и редактировать.
JSON – это текстовый формат. Это значит, что его можно передать как текст, например в СМС или по электронной почте, и он не потеряет структуру.