Каковы ключевые особенности формата JSON?

«Каковы ключевые особенности формата JSON?» — вопрос из категории Форматы данных, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

JSON (JavaScript Object Notation) — это текстовый формат обмена данными, основанный на синтаксисе объектов JavaScript. Его основные особенности:

1. Ограниченный набор типов данных: JSON поддерживает только 6 типов:

  • Строки: "текст в двойных кавычках"
  • Числа: 42, 3.14, -10
  • Булевы значения: true, false
  • null: null
  • Массивы: Упорядоченные списки в квадратных скобках [1, 2, "три"]
  • Объекты: Неупорядоченные наборы пар «ключ-значение» в фигурных скобках {"ключ": "значение"}

2. Строгий синтаксис:

  • Все ключи в объектах обязательно должны быть строками в двойных кавычках.
  • Запятые и двоеточия расставляются строго по правилам.
  • Не допускаются завершающие запятые в массивах и объектах (хотя многие современные парсеры их игнорируют).

3. Отсутствие расширенных возможностей:

  • Нет комментариев (стандарт их не предусматривает).
  • Нет функций, дат, undefined — эти типы должны быть сериализованы в строки или числа.
  • Нет циклических ссылок — объект не может ссылаться сам на себя.

4. Кодировка и читаемость:

  • Использует кодировку Unicode (по умолчанию UTF-8).
  • Формат легко читается человеком и машиной.

Пример валидного JSON:

{
  "name": "Alice",
  "active": true,
  "score": 95.5,
  "tags": ["backend", "qa"],
  "profile": {
    "role": "engineer",
    "level": null
  }
}

Практическое следствие: При передаче сложных структур (например, дат) необходимо согласовывать их строковое или числовое представление между клиентом и сервером.