Блог

Полное руководство по формату JSON: структура, синтаксис и лучшие практики

JSON (JavaScript Object Notation) — самый распространённый формат обмена данными в современной веб-разработке. От коммуникации через API до конфигурационных файлов и хранения данных — JSON встречается повсюду. Это руководство охватывает всё: от базовой структуры JSON до практических советов по эффективной работе с ним.

Что такое JSON?

JSON — это легковесный формат обмена данными, предложенный Дугласом Крокфордом в 2001 году. Он создан таким образом, чтобы его было легко читать и писать человеку, а также легко разбирать и генерировать машине. Формат стандартизирован как RFC 8259 и не зависит от языка программирования.

Типы данных JSON

JSON поддерживает шесть типов данных:

1. Строка (String)

Должна быть заключена в двойные кавычки ("). Одинарные кавычки не допускаются.

{
"name": "Иван Иванов",
"message": "Переносы строк используют \\n"
}

2. Число (Number)

Поддерживаются как целые числа, так и числа с плавающей точкой. Записываются без кавычек.

{
"age": 30,
"pi": 3.14159,
"scientific": 1.5e10
}

3. Булево значение (Boolean)

Допускаются только true или false, написанные строчными буквами без кавычек.

{
"isActive": true,
"isDeleted": false
}

4. null

Представляет пустое значение. Допустим только строчный вариант null.

{
"middleName": null
}

5. Объект (Object)

Заключается в фигурные скобки {}, пары ключ-значение разделяются запятыми. Ключи должны быть строками.

{
"user": {
"id": 1,
"name": "Мария Разработчик",
"email": "maria@example.com"
}
}

6. Массив (Array)

Заключается в квадратные скобки [], элементы разделяются запятыми. Допускается смешивание разных типов.

{
"tags": ["javascript", "json", "web"],
"mixed": [1, "два", true, null]
}

Распространённые ошибки

Завершающие запятые

В JavaScript разрешены, но в JSON запрещены.

// Неверно
{ "a": 1, "b": 2, }
// Верно
{ "a": 1, "b": 2 }

Комментарии

JSON не поддерживает комментарии. Нельзя использовать ни //, ни /* */.

Одинарные кавычки

И ключи, и строковые значения должны использовать двойные кавычки.

// Неверно
{ 'name': 'test' }
// Верно
{ "name": "test" }

Почему важно форматировать JSON

Читаемость

JSON с правильными отступами и переносами строк делает структуру сразу видимой. Это значительно сокращает время отладки.

Оптимизация размера файла

В продакшне минифицированный JSON (с удалёнными пробелами) уменьшает объём передаваемых данных по сети. Для больших ответов API это может дать сокращение размера на 30–50%.

Единообразие

В командных проектах стандартизация правил отступов (2 пробела vs 4 пробела) помогает при проверке кода и работе с системой контроля версий.

Практические советы

  1. Отладка ответов API: используйте инструмент форматирования (beautifier), чтобы отформатировать ответы API и быстро проанализировать структуру данных.
  2. Управление конфигурационными файлами: держите конфигурационные файлы вроде package.json и tsconfig.json в аккуратно отформатированном виде.
  3. Валидация данных: всегда проверяйте JSON перед передачей его другим системам.
  4. Навигация по большим файлам: используйте древовидный просмотрщик для больших JSON-файлов, чтобы легко исследовать структуру.

Заключение

JSON прост, но его правильное использование требует знания правил. Инструмент Beautify в JSONKit позволяет форматировать, минифицировать и валидировать JSON — всё в одном месте.