Gymterview
junior

Что такое JSON?

JSON (JavaScript Object Notation) — легковесный текстовый формат обмена данными, основанный на синтаксисе JavaScript-объектов, но независимый от языка программирования.

JSON представляет собой одну из двух структур:

  • Набор пар «ключ:значение» (объект)
  • Упорядоченный набор значений (массив)

Типы значений в JSON

Тип Пример Описание
Объект {"name": "John"} Неупорядоченный набор пар ключ:значение в { }
Массив [1, 2, 3] Упорядоченный набор значений в [ ]
Строка "hello" Unicode-символы в двойных кавычках
Число 42, 3.14 Целое или дробное
Литерал true, false, null Булевы значения и null

Ключом объекта может быть только строка (регистрозависимая). Строковые значения записываются в двойных кавычках и могут содержать escape-последовательности (\n, \t, \", \\) или Unicode-коды (\uFFFF).

Пример JSON-документа
{
  "name": "Иван",
  "age": 30,
  "isActive": true,
  "address": {
    "city": "Москва",
    "zip": "101000"
  },
  "phones": [
    "+7-900-123-45-67",
    "+7-495-123-45-67"
  ],
  "spouse": null
}

JSON стал стандартом де-факто для обмена данными в REST API, вытеснив XML благодаря своей лаконичности и простоте парсинга. В Java для работы с JSON используются библиотеки Jackson (стандарт в Spring) и Gson (Google).

На собеседовании: назовите пять типов значений (объект, массив, строка, число, литералы true/false/null). Частый уточняющий вопрос: «Чем JSON отличается от XML?» — JSON проще, легче парсится, но не поддерживает комментарии и атрибуты.