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 – это текстовый формат. Это значит, что его можно передать как текст, например в СМС или по электронной почте, и он не потеряет структуру.