Какие типы данных поддерживает формат JSON?

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

Ответ

Стандарт JSON (RFC 8259) определяет шесть примитивных типов данных:

  1. String (Строка): Последовательность символов Unicode в двойных кавычках.

    "name": "Анна",
    "comment": "Строка с "экранированными" кавычками"
  2. Number (Число): Целое или число с плавающей запятой. Не поддерживает NaN или Infinity.

    "count": 42,
    "temperature": -10.5,
    "price": 99.95
  3. Boolean (Логический тип): Литералы true или false.

    "active": true,
    "verified": false
  4. Null: Литерал null, представляющий пустое или отсутствующее значение.

    "middleName": null
  5. Array (Массив): Упорядоченный список значений в квадратных скобках []. Значения могут быть разных типов.

    "tags": ["urgent", "backend"],
    "matrix": [[1, 0], [0, 1]]
  6. Object (Объект): Неупорядоченная коллекция пар ключ-значение в фигурных скобках {}. Ключ — всегда строка.

    "address": {
      "city": "Москва",
      "street": "Тверская"
    }

Пример полного JSON-документа:

{
  "id": 101,
  "username": "dev_user",
  "premium": true,
  "score": null,
  "roles": ["editor", "viewer"],
  "settings": {
    "theme": "dark",
    "notifications": false
  }
}

Важно: JSON не поддерживает типы Date, Function или комментарии. Даты обычно передаются как строки в ISO 8601 формате ("2024-01-15T10:30:00Z").