Провереноот Adam B.·проверено FE Editorial·обновлено Jul 22, 20263.7(70 голосов)Спасибо за оценку!
БЫСТРЫЙ ОТВЕТ
Файл JSON - это текстовый файл данных в формате JavaScript Object Notation, используемый веб-API, конфигурациями приложений и для экспорта данных. Его открывает любой текстовый редактор - Notepad в Windows, TextEdit на Mac - хотя VS Code или Notepad++ удобнее для нетривиальных задач. Сам файл безопасен для открытия; данные внутри могут быть конфиденциальными (токены, личные экспорты).
Разработчик: Specified by Douglas Crockford (2001); standards: ECMA-404, IETF RFC 8259Категория: Файлы данныхОткрыть стандартноеMIME: application/json
Файлы с расширением .json содержат данные, хранящиеся в текстовом формате с использованием нотации, производной от подмножества JavaScript, в кодировке UTF-8. Текущим авторитетным описанием формата являются ECMA-404 и IETF RFC 8259 (2017), которые заменили более ранний RFC 4627. Помимо прочего, .json широко используется для передачи информации по сетям и для хранения конфигураций, настроек и сериализованного состояния приложений.
Документ .json может содержать:
Строки,
Числа (числа с плавающей запятой двойной точности IEEE 754),
Логические значения (true и false),
null,
Массивы из вышеперечисленных элементов,
Объекты (карты «ключ-значение»).
Объекты и массивы могут быть вложенными на нескольких уровнях. Хотя синтаксис файлов .json основан на JavaScript, они используются в приложениях, написанных практически на всех языках программирования. В JavaScript парсинг и сериализация обрабатываются встроенными методами JSON.parse() и JSON.stringify(), доступными начиная с ECMAScript 5 - внешняя библиотека не требуется. Формат не поддерживает комментарии. Связанные текстовые форматы данных включают YAML, XML и CSV.
Безопасность и защита
РИСК: LOW
Файл JSON - это чистые данные, он не может содержать или исполнять код, поэтому открывать его в редакторе безопасно. Риски носят информационный характер: экспорты данных часто содержат личные сведения, ключи API или токены сессий (не вставляйте такие файлы в онлайн-просмотрщики и не делитесь ими); а для разработчиков классическими ловушками являются парсинг недоверенного JSON с помощью eval() вместо JSON.parse() или использование файлов огромного размера для атак типа «отказ в обслуживании». Остерегайтесь двойных расширений (.json.exe) в загрузках.
Детали формата
в двух словах
ПОЛНОЕ НАЗВАНИЕJavaScript Object Notation file
РАЗРАБОТЧИКSpecified by Douglas Crockford (2001); standards: ECMA-404, IETF RFC 8259с 2001 (json.org); first IETF spec RFC 4627 (2006); current RFC 8259 / ECMA-404 (2017)
Mozilla FirefoxОткрытый кодПеретащите файл .json во вкладку Firefox - встроенный просмотрщик JSON (начиная с Firefox 53, 2017) показывает сворачиваемое дерево с поиском.
NotepadОткрытый кодЛегкий редактор с подсветкой синтаксиса JSON; установите встроенный плагин «JSON Viewer» (Plugins Admin) для форматирования и древовидного вида.
Visual Studio CodeБесплатноОткройте файл; нажмите Shift+Alt+F, чтобы отформатировать (pretty-print) минифицированный JSON, и используйте стрелки сворачивания для скрытия разделов. Лучший бесплатный выбор для редактирования.
Altova XMLSpyПлатноКоммерческая IDE для XML/JSON с табличным представлением и валидацией схем - актуальна для корпоративных разработчиков, избыточна для простого просмотра.
macOS3 apps
TextEditВстроеннаяПравой кнопкой мыши - Открыть с помощью - TextEdit. Осторожно при редактировании: отключите «умные кавычки» (Правка - Замены), которые незаметно портят JSON.
BBEditFreemiumПреемник TextWrangler (снят с производства в 2017 году); бесплатный режим охватывает просмотр и редактирование JSON с подсветкой синтаксиса.
Visual Studio CodeБесплатноОткройте файл; нажмите Shift+Alt+F, чтобы отформатировать (pretty-print) минифицированный JSON, и используйте стрелки сворачивания для скрытия разделов. Лучший бесплатный выбор для редактирования.
Linux4 apps
VimОткрытый кодОткрыть в терминале; отформатировать на месте с помощью «:%!jq .», если установлен jq.
Visual Studio CodeБесплатноОткройте файл; нажмите Shift+Alt+F, чтобы отформатировать (pretty-print) минифицированный JSON, и используйте стрелки сворачивания для скрытия разделов. Лучший бесплатный выбор для редактирования.
GNOME Text Editor / geditОткрытый кодСтандартный редактор GNOME открывает JSON с подсветкой синтаксиса.
jqОткрытый кодПроцессор JSON для командной строки: «jq . file.json» выполняет форматирование; фильтры извлекают поля («jq .items[].name»).
Android1 app
Files / any text editor appБесплатноНажмите на файл и выберите просмотрщик текста/HTML; для редактирования используйте приложение-редактор, такое как Acode. JSON не требует специального приложения.
Web2 apps
JSON Editor OnlineFreemiumВставьте или откройте файл в браузере - древовидный вид, форматирование, валидация и экспорт JSON-в-CSV. Избегайте вставки конфиденциальных данных в любые онлайн-инструменты.
JSON CrackFreemiumВизуализирует JSON в виде интерактивного графа узлов - полезно для понимания глубоко вложенных экспортов.
Технические подробности
глубокая спецификация
MIME-тип
application/json
Кодировка символов
UTF-8; RFC 8259 предписывает UTF-8 без BOM для сетевого обмена
Сигнатура файла (magic bytes)
Отсутствует - обычный текст; валидный документ начинается с «{» (объект) или «[» (массив), опционально предваряемых пробельными символами
Вопросов пока нет - станьте первым, кто спросит о файлах JSON.
Часто задаваемые вопросы
Какая программа открывает файл JSON?
Любой текстовый редактор - Notepad (Windows) или TextEdit (Mac) сработают сразу. Для комфортного чтения используйте VS Code или Notepad++ (форматирование, сворачиваемое дерево) или перетащите файл в Firefox для использования встроенного просмотрщика JSON.
Как конвертировать JSON в Excel?
В Excel: Данные - Получить данные - Из файла - Из JSON, затем преобразуйте и разверните записи (Power Query). Для простого плоского JSON также подойдет онлайн-конвертер JSON-в-CSV, но избегайте загрузки конфиденциальных данных.
Почему мой JSON-файл представляет собой одну длинную нечитаемую строку?
Он минифицирован - пробелы были удалены для экономии трафика. Сделайте «pretty-print»: Shift+Alt+F в VS Code, кнопка «Format» в JSON Editor Online или «jq . file.json» в терминале.
Безопасно ли открывать файл JSON?
Да - JSON представляет собой текстовые данные и не может запускать код. Просто будьте осторожны с содержимым (экспорты могут содержать пароли/токены) и убедитесь, что файл не является замаскированным исполняемым файлом, например data.json.exe.
Могу ли я редактировать файл JSON в Блокноте?
Да, но синтаксис JSON строгий: только двойные кавычки, никаких лишних запятых в конце, никаких комментариев. Одна неверная запятая сломает приложение, читающее его - проверяйте валидность после редактирования (VS Code подчеркивает ошибки в реальном времени).
В чем разница между JSON и XML?
Оба передают структурированные данные в виде текста. JSON легче, напрямую сопоставляется со структурами данных и доминирует в веб-API; XML поддерживает атрибуты, пространства имен и схемы и сохраняется в документах и корпоративных системах.
Что такое файл JSONL / NDJSON?
JSON Lines - один полный объект JSON на строку, используется для логов и больших наборов данных, так как его можно обрабатывать построчно. Обычный парсер JSON отклонит его; обрабатывайте его построчно или с помощью jq.
Ссылки
1IETF RFC 8259 - The JSON Data Interchange Format (STD 90)www.rfc-editor.org