Перейти к содержимому

Данные

Конвертер JSON

Конвертируйте JSON в другие форматы или создавайте JSON из файлов других типов.

.json4 направления из JSON4 направления в JSON

Формат JSON

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

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

Первая типичная проблема — синтаксис. Лишняя запятая после последнего элемента, одинарные кавычки, комментарии, незакавыченные ключи и невидимая метка BOM в начале файла делают файл невалидным, хотя выглядит он правильно. Вторая — размер: файл на сотни мегабайт нельзя разобрать частями обычным парсером. Третья — точность чисел: идентификаторы из восемнадцати-девятнадцати цифр при обработке в JavaScript теряют последние разряды, поэтому их принято передавать строками.

Из JSON чаще всего делают CSV и XLSX — чтобы посмотреть выгрузку в таблице, отдать её заказчику или загрузить в аналитику. XML нужен для обмена со старыми системами и SOAP-сервисами, YAML — когда файл придётся править руками. Обратный маршрут из CSV и XLSX в JSON используют, чтобы скормить таблицу приложению или залить справочник через API.

Что спрашивают о формате JSON

Как вложенный JSON превращается в CSV?

Массив объектов верхнего уровня становится строками таблицы, ключи — столбцами. Вложенные объекты разворачиваются в столбцы с составными именами вида customer.city. Самое узкое место — массивы переменной длины: список из трёх позиций заказа и из тридцати не ложатся в одну таблицу. Такие данные лучше выгружать отдельным файлом, где каждая позиция — своя строка.

Файл не проходит проверку: «Unexpected token». Где искать ошибку?

Проверьте четыре вещи: запятую после последнего элемента массива или объекта, одинарные кавычки вместо двойных, комментарии и ключи без кавычек. Всё это допустимо в JavaScript и JSON5, но не в JSON. Ещё одна частая причина — байты BOM в начале файла: визуально он пустой, а парсер спотыкается на первом же символе.

Что произойдёт с датами при конвертации в таблицу?

В JSON нет типа «дата»: она хранится либо строкой в формате ISO (2024-02-01T10:00:00Z), либо числом-меткой времени. При выгрузке в CSV или XLSX такое поле останется текстом или числом, и Excel не будет считать его датой автоматически. Если нужны вычисления по датам, задайте формат ячейки уже в готовой таблице.

Соседи по разделу

Остальные форматы раздела «Данные». У каждого своя страница с направлениями конвертации от JSON и обратно.