Что такое JSON: формат, структура и примеры простыми словами

JSON — формат, в котором сайты, приложения и сервисы обмениваются данными: его отдаёт любой API, в нём же хранятся настройки программ и ответы серверов. Разбираем простыми словами, как устроены объекты и массивы, чем открыть .json-файл, чем формат удобнее XML и как читать его в Python и JavaScript. После статьи вы откроете любой JSON и поймёте, что в нём написано, даже если не пишете код.
Статью написал:
Ваня Буявец, продюсер, основатель Checkroi
Ваня Буявец
Основатель Checkroi, продюсер, эксперт в выборе онлайн-курсов
Все 1439 статей автора Подписаться на Телеграм-канал
Одобрено экспертом:
Наташа Буявец, основатель Checkroi, эксперт по онлайн-курсам
Наташа Буявец
Основательница Checkroi, продюсер Youtube-каналов, эксперт по онлайн-курсам
Все 2100 экспертных мнений Подписаться на Телеграм-канал
Обложка: Что такое JSON: формат, структура и примеры простыми словами

Вы наверняка это видели, даже если не пишете код. Открыли ответ какого-нибудь сервиса в браузере, а там вместо привычной страницы — строчки с фигурными скобками, кавычками и двоеточиями. Что-то вроде {"имя": "Павел", "возраст": 34}. Выглядит как тайнопись, но на самом деле это один из самых простых и распространённых способов, которыми программы обмениваются данными. Называется он JSON.

В этой статье разберём JSON по-человечески: что это за формат, как он устроен изнутри, чем открыть .json-файл, почему его выбирают чаще XML и как с ним работают в Python и JavaScript. Всё на примерах, без академических формулировок.

Если вы только знакомитесь с тем, как устроен веб, начните с базовой статьи «Что такое язык разметки HTML». JSON и HTML часто встречаются в одной связке, когда браузер получает данные с сервера и показывает их на странице.

Материал пригодится не только будущим программистам. С JSON сталкиваются тестировщики, аналитики, маркетологи при настройке рекламных выгрузок, специалисты по интеграциям и все, кто хоть раз подключался к API. Например, API нейросетей вроде ChatGPT или Claude отдаёт ответ именно в JSON — об этом подробно в статье «OpenAI API: что это и как пользоваться».

А если после чтения захочется освоить веб-разработку по-настоящему, загляните в нашу подборку курсов по веб-разработке: там собраны программы от коротких стартов до годовых с трудоустройством.

Курсы по Веб-разработкаКурсыСравнение 161 курса по веб-разработкеЦены, школы, длительность, рассрочка

Что такое JSON простыми словами

JSON — это текстовый формат для хранения и передачи данных. Аббревиатура расшифровывается как JavaScript Object Notation, то есть «нотация объектов JavaScript». Формат вырос из языка JavaScript, но давно стал самостоятельным: сегодня с ним работают Python, PHP, Java, C#, Go и почти любой другой язык.

Проще всего представить JSON как универсальный язык для обмена данными. Когда двум программам нужно передать друг другу информацию (скажем, приложению на телефоне забрать список товаров с сервера), они не могут просто «поговорить». Им нужен общий формат, понятный обеим сторонам. JSON и есть такой формат: строгий по правилам, но при этом читаемый человеком.

Ключевое слово здесь — текстовый. JSON — это обычный текст, который можно открыть в блокноте и прочитать глазами. В нём нет ничего зашифрованного. Данные лежат аккуратно разложенными по парам «ключ — значение» и спискам, а не сплошной простынёй. Именно поэтому его легко читает и человек, и машина.

Коротко. JSON — это способ записать данные в виде текста так, чтобы их одинаково понимали и разные программы, и вы сами.

Файл в этом формате имеет расширение .json. Внутри него лежит та самая структура из скобок и кавычек, к которой мы сейчас перейдём.

Как устроен JSON: объекты, массивы и значения

У JSON всего два кирпичика, из которых собирается любая структура: объект и массив. Их можно вкладывать друг в друга сколько угодно раз, так и получаются сложные данные. Разберём каждый.

Объект — пары ключ и значение

Объект в JSON заворачивается в фигурные скобки { }. Внутри лежат пары «ключ — значение», разделённые двоеточием. Ключ — это название поля (всегда в двойных кавычках). Значение — то, что в этом поле лежит.

{
  "имя": "Павел",
  "возраст": 34,
  "город": "Москва"
}

Читается это так: у нас есть человек, у которого имя — Павел, возраст — 34, город — Москва. Каждая пара отделяется от следующей запятой. У последней пары запятой нет, и это важное правило, к нему ещё вернёмся.

Ключ иногда называют «свойством», это одно и то же. Пишут ключи обычно латиницей, без пробелов, в одном из двух стилей: firstName (верблюжий, camelCase) или first_name (через подчёркивание, snake_case). Русские буквы в ключах технически возможны, но на практике так почти не делают.

Массив — упорядоченный список

Массив заворачивается в квадратные скобки [ ] и хранит просто список значений по порядку, безо всяких ключей.

["красный", "зелёный", "синий"]

Это список из трёх цветов. Порядок в массиве имеет значение: первый элемент, второй, третий. Внутри массива могут лежать не только строки, но и числа, и целые объекты, о чём чуть ниже.

Какие бывают значения

Значением в JSON может быть одна из нескольких вещей. Список короткий, запомнить легко:

  • Строка — текст в двойных кавычках: "Москва"
  • Число — целое или дробное, без кавычек: 34 или 19.99
  • Логическое значение — true (да) или false (нет)
  • Пустота — null, означает «значения нет»
  • Массив — вложенный список [ ]
  • Объект — вложенный объект { }

Последние два пункта дают ту самую вложенность, которая делает JSON гибким. Внутри объекта может лежать массив, внутри массива — объекты, и так на любую глубину. Вот пример посложнее: карточка пользователя с интересами и адресом.

{
  "имя": "Павел",
  "активен": true,
  "интересы": ["музыка", "код", "горы"],
  "адрес": {
    "город": "Москва",
    "индекс": "101000"
  }
}

Здесь в значении ключа интересы лежит массив, а в значении ключа адрес — вложенный объект со своими парами. Такую структуру называют вложенным JSON, и именно в таком виде обычно приходят ответы от серверов.

Запомните. Весь JSON собирается из двух вещей: объектов в фигурных скобках и массивов в квадратных. Больше ничего учить не нужно.

Правила синтаксиса: что делает JSON рабочим

JSON — формат строгий. Одна лишняя запятая или кавычка не в том месте, и программа откажется его читать. Правил, которые нужно соблюдать, всего четыре, и они простые.

  • Ключи всегда в двойных кавычках. Не в одинарных, не без кавычек. Только "ключ".
  • Строки тоже в двойных кавычках. Числа, true, false и null пишутся без них.
  • Пары и элементы разделяются запятой, но после последнего элемента запятая не ставится.
  • Скобки закрываются. Каждой открывающей { или [ нужна своя закрывающая.

JSON, который написан по всем правилам, называют «правильно оформленным» (well formed). Вот один и тот же кусок: сверху с ошибкой, снизу как надо.

❌ Ошибка (одинарные кавычки, лишняя запятая):
{
  'имя': 'Павел',
  "возраст": 34,
}

✅ Правильно:
{
  "имя": "Павел",
  "возраст": 34
}

Пробелы, переносы строк и отступы на смысл не влияют, их добавляют только для читаемости. Программа поймёт JSON и сжатым в одну строку, и разложенным лесенкой. Людям, конечно, приятнее лесенка.

Ваня Буявец, продюсер, основатель CheckroiВаня Буявец, основатель CheckroiПоказываю, как применять Claude Code, ChatGPT и другие нейросети в учёбе и работе, с примерами и промптамиЧитать в Телеграме

Зачем нужен JSON и где он применяется

Резонный вопрос новичка: если это просто текст со скобками, почему вокруг него столько шума? Потому что JSON стал стандартом де-факто для обмена данными в вебе. Вот основные места, где вы его встретите.

Работа с API. Когда одно приложение запрашивает данные у другого через API (это адрес, по которому сервер принимает запросы и отдаёт ответ), ответ почти всегда приходит в JSON. Прогноз погоды в вашем приложении, лента товаров в интернет-магазине, курс валют — всё это под капотом передаётся как JSON. Если тема API вам близка, посмотрите, как это устроено у нейросетей, в статье про Claude от Anthropic.

Настройки приложений. Многие программы хранят свои настройки в .json-файлах. Открываете такой файл и видите, какие параметры включены. Разработчики правят конфиги руками именно потому, что JSON легко читается.

Базы данных. Некоторые базы данных (например, MongoDB) хранят записи в виде, похожем на JSON. Это удобно, когда структура данных гибкая и меняется от записи к записи.

Обмен между браузером и сервером. Когда вы листаете ленту и подгружаются новые посты без перезагрузки страницы, браузер в этот момент получает с сервера порцию данных в JSON и подставляет их на страницу.

Для человека, который работает с данными или интеграциями, понимание JSON стало базовым навыком. С него начинается путь и в backend-разработку, и в тестирование API, и в аналитику.

Курсы по ПрограммистКурсыСравнение 158 курсов для программистовЦены, школы, длительность, рассрочка

JSON или XML: в чём разница

До того как JSON стал популярным, данные чаще передавали в формате XML. XML тоже текстовый, но устроен тяжелее: вместо коротких пар «ключ — значение» там открывающие и закрывающие теги, как в HTML. Сравните одну и ту же запись.

JSON:
{
  "имя": "Павел",
  "возраст": 34
}

XML:
<человек>
  <имя>Павел</имя>
  <возраст>34</возраст>
</человек>

Видно, что JSON заметно компактнее, в нём нет дублирующихся тегов. Есть ещё третий формат, YAML, который часто используют в настройках. Соберём различия в таблицу.

Критерий JSON XML YAML
Компактность Высокая Низкая (много тегов) Высокая
Читаемость для человека Хорошая Средняя Отличная
Где чаще всего API, веб, мобильные приложения Старые системы, документы, банки Конфиги, DevOps
Комментарии внутри Нельзя Можно Можно
Скорость обработки Быстро Медленнее Быстро

Для большинства задач в вебе сегодня выбирают JSON: он легче, быстрее обрабатывается и отлично дружит с JavaScript. XML остаётся там, где важна строгая структура документа и где системы писали ещё до эпохи JSON. YAML любят за читаемость в настройках, но для передачи данных между программами берут реже.

Как работать с JSON: парсинг и сериализация

Данные в JSON хранятся текстом. А программе для работы с ними нужны живые объекты языка: списки, словари, переменные. Поэтому JSON постоянно превращают туда и обратно. У этого превращения есть два страшных на вид слова.

  • Парсинг (десериализация) — превратить текст JSON в объекты программы, чтобы с ними что-то делать.
  • Сериализация — обратное действие: взять объекты программы и превратить их в текст JSON, чтобы отправить или сохранить.

Звучит сложно, но на деле это одна-две команды. Покажем на двух самых частых языках.

JSON в JavaScript

В JavaScript для этого есть встроенный объект JSON с двумя методами. JSON.parse() читает текст и превращает его в объект, JSON.stringify() делает наоборот.

// текст превращаем в объект
const text = '{"имя": "Павел", "возраст": 34}';
const человек = JSON.parse(text);
console.log(человек.имя); // Павел

// объект превращаем в текст
const снова = JSON.stringify(человек);

JSON в Python

В Python работа идёт через встроенный модуль json. Метод json.loads() читает JSON из строки, json.dumps() собирает строку обратно.

import json

text = '{"имя": "Павел", "возраст": 34}'
человек = json.loads(text)   # получили словарь
print(человек["имя"])        # Павел

снова = json.dumps(человек)  # собрали обратно в строку

Логика везде одинаковая: loads и parse читают, dumps и stringify пишут. Разобравшись на одном языке, вы легко перенесёте знание на любой другой. Если хочется освоить именно этот язык глубже, у нас собрана большая подборка курсов по Python.

Курсы по PythonКурсыСравнение 451 курса по pythonЦены, школы, длительность, рассрочка

Чем открыть и как создать JSON-файл

Хорошая новость: для JSON не нужна никакая специальная программа. Это текст, поэтому открыть его можно кучей способов.

  • Любой текстовый редактор — «Блокнот» в Windows, TextEdit на Mac. Откроет, но без подсветки.
  • Редактор кода — VS Code, Sublime Text, Notepad++. Подсветят синтаксис, выделят ошибку, красиво разложат структуру. Для регулярной работы лучший вариант.
  • Браузер — перетащите .json-файл в окно Chrome, Firefox или Яндекс Браузера, и он покажет содержимое в удобном виде.
  • Онлайн-редакторы — сервисы вроде JSON Editor Online открывают файл прямо в браузере и заодно проверяют его на ошибки.

Создать JSON так же просто. Открываете любой текстовый редактор, пишете данные по правилам синтаксиса и сохраняете файл с расширением .json вместо .txt. Всё, файл готов.

Совет новичку. Если предстоит часто заглядывать в JSON, поставьте VS Code. Он бесплатный, подсвечивает ошибки и по горячей клавише выравнивает файл в аккуратную лесенку.

Типичные ошибки в JSON и как их проверить

Раз JSON строгий, ошибиться в нём легко, особенно когда пишешь руками. Вот тройка самых частых промахов, на которых спотыкаются новички.

Лишняя запятая в конце. После последней пары или последнего элемента списка запятая не ставится. Хвостовая запятая — причина ошибки номер один.

Одинарные кавычки вместо двойных. JSON признаёт только двойные кавычки. Запись 'имя' сломает файл, нужно "имя".

Неэкранированные символы внутри строк. Если внутри текста есть двойная кавычка, её нужно «экранировать»: поставить перед ней обратный слеш \". То же касается переносов строк и самого слеша. Иначе программа решит, что строка кончилась раньше времени.

❌ "цитата": "Он сказал "привет""
✅ "цитата": "Он сказал \"привет\""

Проверить JSON на ошибки помогают валидаторы, бесплатные онлайн-сервисы, куда вы вставляете свой текст, а они показывают, где именно ошибка и в какой строке. Достаточно вбить в поиск «JSON валидатор», вставить содержимое и нажать кнопку. Для повседневной работы удобнее делать это прямо в редакторе кода: тот же VS Code подсвечивает проблему сразу.

Где научиться работать с данными и кодом

JSON — это первый маленький шаг в большой мир разработки и работы с данными. Сам по себе формат учится за вечер, но за ним стоит много всего: API, базы данных, языки программирования, тестирование. Чтобы не собирать эти знания по обрывкам статей, проще один раз пройти системный курс, где всё выстроено по порядку и с практикой.

Мы собрали подборку программ по веб-разработке: от коротких стартов для новичков до годовых курсов с трудоустройством. В карточках видно цену, длительность и что именно даёт школа.

КурсШколаСтоимость со скидкойВ рассрочкуДлитель­ностьОбзор курса от Checkroi
Fullstack-разработчик на Python
Перейти на сайт курса
НетологияНетология175 800 ₽7125 ₽/мес.21 месяцОбзор курса
Профессия «Веб-разработчик с нуля»
Перейти на сайт курса
НетологияНетология163 300 ₽7125 ₽/мес.13 месяцевОбзор курса
Веб-разработчик
Перейти на сайт курса
Академия СинергияАкадемия Синергия141 036 ₽5877 ₽/мес.6 месяцевОбзор курса
Веб-разработчик
Перейти на сайт курса
SkillboxSkillbox153 348 ₽4486 ₽/мес.16 месяцевОбзор курса
FullStack-разработчик: тариф PRO
Перейти на сайт курса
Академия ЭдюсонЭдюсон182 000 ₽7583 ₽/мес.14 месяцевОбзор курса
Fullstack-разработчик на JavaScript
Перейти на сайт курса
Академия ЭдюсонЭдюсон158 760 ₽6615 ₽/мес.11 месяцевОбзор курса
Веб-разработка для фриланса
Перейти на сайт курса
SkyproSkypro118 320 ₽364 833 ₽/мес.12 месяцевОбзор курса
Фулстек-разработчик на JavaScript
Перейти на сайт курса
SkillboxSkillbox153 348 ₽4296 ₽/мес.11 месяцевОбзор курса
FullStack-разработчик: тариф Базовый
Перейти на сайт курса
Академия ЭдюсонЭдюсон158 760 ₽6615 ₽/мес.12 месяцевОбзор курса
Веб-разработчик (c индивидуальным сопровождением)
Перейти на сайт курса
SkyproSkypro204 000 ₽368 333 ₽/мес.12 месяцевОбзор курса

Больше программ — в полном каталоге курсов по веб-разработке

Если хочется сначала определиться с направлением, почитайте, как стать программистом с нуля и кто такой веб-разработчик. А разобравшись с JSON, вы уже сделали первый шаг: научились читать язык, на котором между собой разговаривают программы.

Часто задаваемые вопросы

Как расшифровывается JSON?

JSON — это сокращение от JavaScript Object Notation, что переводится как «нотация объектов JavaScript». Формат вырос из языка JavaScript, но давно работает с любым языком программирования: Python, PHP, Java и другими.

Чем открыть файл JSON?

JSON — это обычный текст, поэтому подойдёт любой текстовый редактор: «Блокнот» в Windows, TextEdit на Mac. Удобнее делать это в редакторе кода вроде VS Code или Notepad++ — они подсвечивают синтаксис и сразу показывают ошибки. Можно просто перетащить файл в окно браузера.

Чем JSON отличается от XML?

JSON компактнее и легче читается: в нём нет открывающих и закрывающих тегов, как в XML, только короткие пары «ключ — значение» и списки. XML остаётся в старых системах и там, где важна строгая структура документа, а для веба и мобильных приложений сегодня чаще берут JSON.

Можно ли писать комментарии внутри JSON?

Нет, стандарт JSON комментарии не поддерживает — любой символ вне строгого синтаксиса сломает файл. Если нужны пояснения, их либо выносят в отдельное поле-описание, либо используют форматы, которые комментарии разрешают, например YAML.

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

Значением в JSON может быть строка (в двойных кавычках), число, логическое значение true или false, пустое значение null, массив в квадратных скобках и вложенный объект в фигурных. Этих типов хватает, чтобы описать почти любые данные.

Как проверить JSON на ошибки?

Проще всего вставить текст в бесплатный онлайн-валидатор (наберите в поиске «JSON валидатор») — он покажет, в какой строке ошибка. Для повседневной работы удобнее делать это прямо в редакторе кода: VS Code подсвечивает проблему сразу при вводе.

Нужно ли уметь программировать, чтобы читать JSON?

Нет. JSON создан так, чтобы его понимал и человек, и машина, поэтому прочитать структуру и разобраться, что где лежит, может любой. Программирование понадобится, только если вы захотите обрабатывать JSON автоматически — например парсить ответы API в коде.

Чем открыть JSON-файл на телефоне?

На смартфоне JSON откроет мобильный браузер (Chrome, Safari, Яндекс Браузер) или любое приложение-заметка, которое умеет показывать текстовые файлы. В магазинах приложений есть и специальные просмотрщики JSON с подсветкой синтаксиса.

Оставить комментарий
0 комментариев
Форма комментария

Оставьте комментарий

Напишите, что думаете. Нам важно ваше мнение!