Конвертировать JSON в Excel
Сведите JSON или NDJSON в таблицу: вложенные объекты становятся колонками с точечной нотацией, а ключи собираются из всех записей.
Перетащите файлы сюда
.json, .ndjson, .txt · до 300 МБ
Больше настроекМеньше настроек
Как конвертировать
- 1
Перетащите JSON или вставьте текст
Подходят обычный JSON и построчный NDJSON. Ответ API можно как загрузить файлом, так и вставить из буфера обмена.
- 2
Укажите массив и задайте правила разворачивания
Если записи лежат в data.items — так и напишите. Выберите, превращать ли вложенные объекты в колонки и как именно представлять массивы.
- 3
Конвертируйте и скачайте XLSX
Книга открывается сразу в виде таблицы: верхняя строка с заголовками закреплена, ширина колонок уже подогнана под содержимое.
Ответы API — это не готовые таблицы
Реальный ответ API почти никогда не бывает голым массивом. Обычно он обернут в объект статуса, а записи лежат где-нибудь под data.items или result.rows. Внутри каждой записи есть вложенные объекты. Поэтому этот инструмент сначала просит путь к записям, а не пытается угадать его сам. Ошибочная догадка даст таблицу из одной строки с описанием обертки: выглядит как успех, но данных в ней нет. Если указанный путь не находится, в ошибке перечисляются реальные ключи верхнего уровня. Так следующая попытка опирается на факты, а не на очередное угадывание.
Колонки берутся из всех записей, а не только из первой
Самый частый баг самописных конвертеров JSON-в-таблицу — брать список колонок из первой записи. В реальных выгрузках записи «рваные»: дополнительное поле email появляется только у второй записи, скидка — только у тех, у кого она была. Здесь просматриваются все записи, а список колонок — это объединение их ключей в порядке первого появления. Так ни одно поле не исчезает незаметно. Для строк, где колонки нет, ячейка остается пустой, а не сдвигает значения. Если нужно сознательно взять только форму первой записи, это можно включить в настройках. Но по умолчанию так не делается: потерять данные незаметно хуже, чем получить широкий лист.
Вложенность, массивы и пределы одной ячейки
Вложенный объект разворачивается в колонки с именами вида user.address.city — до той глубины, которую вы разрешите. Глубже ветка записывается как компактный JSON, а не разворачивается дальше, потому что полностью раскрытый ответ GraphQL легко даст двадцать тысяч колонок, а Excel ограничивается 16 384. Для массивов есть три варианта: склеить в одну ячейку с выбранным разделителем, разнести по колонкам tags.0…tags.N или записать строкой JSON. Правильный вариант зависит от того, что вы будете делать дальше. Строки длиннее 32 767 символов обрезаются с пометкой, потому что это жесткий лимит самой ячейки.
Ничего не покидает ваш браузер
Разбор JSON, сведение вложенности и запись XLSX выполняются локально в этой вкладке. Выгрузка API часто содержит клиентские данные или токены доступа, поэтому важно сказать прямо: загрузки нет, серверная обработка не используется, копии файлов не сохраняются.
Частые вопросы
Как обрабатываются вложенные объекты?
По умолчанию они превращаются в колонки с точечной нотацией, например user.address.city, до заданной глубины. Дальше ветка записывается как компактный JSON-текст, чтобы ничего не потерялось. В настройках можно указать, чтобы объекты всегда хранились как JSON-строки.
Как указать массив с записями?
Напишите его путь через точки, например data.items или result.rows.0. Если путь не срабатывает, в сообщении об ошибке будут перечислены ключи верхнего уровня вашего файла, чтобы было видно, где лежат записи.
Что происходит с массивами внутри записи?
На ваш выбор. «Склейка» помещает все элементы в одну ячейку, разделяя строкой, которую вы задаете. «Колонки» раскладывает массив по tags.0…tags.N (до пятидесяти элементов). «JSON» сохраняет массив как текст. По умолчанию стоит склейка — так таблицу проще читать.
Почему у записей разные поля?
Так обычно и бывает в выгрузках API, и это учитывается. Список колонок строится как объединение ключей всех записей в порядке первого появления. Если в какой-то записи поля нет, ячейка в этой колонке остается пустой, а строка не съезжает.
Каковы ограничения строк и колонок в Excel?
1 048 576 строк и 16 384 колонки. Если попытаться превысить один из лимитов, конвертация будет остановлена с объяснением и ссылкой на инструмент «Конвертировать JSON в CSV», который не имеет таких ограничений.
Поддерживается ли NDJSON?
Да. Файл с расширением .ndjson разбирается как один объект на строку. Поэтому при ошибке синтаксиса в сообщении указывается точный номер строки, а не смещение в стомегабайтной строке.
Мой файл загружается на сервер?
Нет. Все — от парсинга JSON до записи XLSX — происходит в вашем браузере. Сервер в процессе не участвует, а после закрытия вкладки ничего не остается.