Формат JSON: структура, чтение и редактирование¶
JSON (сокр. от англ. JavaScript Object Notation) — текстовый формат обмена данными, основанный на парах «ключ — значение» и упорядоченных списках значений. Формат не зависит от языка программирования, поддерживается большинством современных языков и широко используется в веб-разработке, конфигурационных файлах и API. Файлы с расширением .json представляют собой обычный текст, поэтому открыть их можно множеством способов — от стандартного текстового редактора до специализированных инструментов с подсветкой синтаксиса.
¶Структура формата
JSON-документ строится из шести типов данных:
| Тип | Пример | Описание |
|---|---|---|
| Объект | {"имя": "Иван"} | Набор пар «ключ — значение», заключённый в фигурные скобки |
| Массив | [1, 2, 3] | Упорядоченный список значений в квадратных скобках |
| Строка | "привет" | Текст в двойных кавычках |
| Число | 42, 3.14 | Целые или дробные числа |
| Логическое значение | true, false | Булевы значения |
null | null | Отсутствие значения |
Ключи в объектах всегда записываются как строки в двойных кавычках, разделитель пар — двоеточие, элементы списка разделяются запятыми. Комментарии в строгом формате не поддерживаются.
¶Чем открыть файл JSON
¶Текстовый редактор
Самый простой способ — открыть файл в любом текстовом редакторе: «Блокнот» (Windows), TextEdit (macOS), gedit или Kate (Linux). Такой подход показывает «сырой» текст без форматирования; для небольших файлов его обычно достаточно.
¶Редакторы с подсветкой синтаксиса
Для повседневной работы с JSON чаще используются редакторы с подсветкой и автоформатированием:
- Visual Studio Code — бесплатный редактор от Microsoft с встроенной поддержкой JSON, проверкой схем и форматированием по горячей клавише
Shift+Alt+F. - Sublime Text — лёгкий кроссплатформенный редактор с плагинами для работы с JSON.
- Notepad++ — распространённый редактор для Windows с поддержкой множества языков разметки.
- Atom, Vim, Emacs — альтернативы для опытных пользователей.
¶Браузер
Файл .json открывается в браузере напрямую, однако по умолчанию Chrome, Firefox и другие браузеры показывают его в виде одностраничного текста без переносов. Для удобного просмотра устанавливаются расширения, например JSON Formatter или JSONView.
¶Онлайн-просмотрщики
Существуют веб-сервисы, позволяющие загрузить или вставить JSON-текст и получить отформатированное дерево с возможностью сворачивать вложенные объекты. К таким инструментам относятся jsonformatter.org, jsonlint.com (одновременно выполняет проверку синтаксиса) и jsoneditoronline.org. При работе с конфиденциальными данными загрузка файла на сторонний сервис нежелательна.
¶Программные средства
Для программной обработки JSON практически в каждом языке есть встроенные библиотеки:
- Python — модуль
json, функцииjson.load()иjson.loads(). - JavaScript — методы
JSON.parse()иJSON.stringify(). - PHP — функции
json_decode()иjson_encode(). - C# — классы
System.Text.Jsonи Newtonsoft.Json. - Java — библиотеки Jackson и Gson.
Пример на Python:
```python import json
with open("data.json", "r", encoding="utf-8") as f: data = json.load(f)
print(data["ключ"]) ```
¶Командная строка
В Linux и macOS для быстрого просмотра используется утилита cat:
``bash cat data.json ``
Для форматирования («распаковки») применяется jq:
``bash jq . data.json ``
В Windows PowerShell есть аналогичная команда:
``powershell Get-Content data.json | ConvertFrom-Json ``
¶Редактирование JSON
Ручное редактирование в простом текстовом редакторе легко приводит к ошибкам: лишняя или пропущенная запятая, незакрытая скобка, одинарные кавычки вместо двойных. Поэтому для изменения структуры данных предпочтительнее использовать редакторы с валидацией (VS Code подсвечивает ошибки по мере ввода) или графические JSON-редакторы, где значения меняются через форму, а корректность обеспечивается автоматически.
¶Частые ошибки при открытии
- Кракозябры вместо текста — файл сохранён в кодировке, отличной от UTF-8. В этом случае в редакторе нужно указать правильную кодировку (часто Windows-1251 для старых файлов).
- Файл открывается как приложение — в Windows расширение
.jsonможет быть ассоциировано с другой программой; через контекстное меню следует выбрать «Открыть с помощью». - Пустой или бинарный вид — некоторые файлы с расширением
.jsonна самом деле сжаты (например,.json.gz) и требуют распаковки.
¶Применение
JSON-файлы используются как конфигурационные файлы в редакторах и системах (настройки VS Code, package.json в Node.js), как формат обмена данными в REST API, для хранения структурированных данных в базах документов (MongoDB, Elasticsearch), а также в пакетах расширений для браузеров и мобильных приложений.
Источники:
- Дуглас Крокфорд. «JavaScript: The Good Parts».
- RFC 8259. The JavaScript Object Notation (JSON) Data Interchange Format.
- Документация Python (модуль json).
- Документация MDN Web Docs по JSON.
