Что такое 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 проще, легче парсится, но не поддерживает комментарии и атрибуты.