Дані · 3 хв читання ·
JSON у CSV без втрати жодного поля
Вкладені ключі, необов’язкові поля та коми всередині рядків: як 4Dev перетворює заплутаний JSON на CSV, готовий для таблиці.

Таблиця пласка, а JSON ні. Будь-яка конвертація JSON у CSV має вирішити, що робити з вкладеними об’єктами, масивами та ключами, які є лише в частини записів. Ось що саме робить конвертер 4Dev.
Кожен ключ отримує свою колонку
Рядок заголовків складається з ключів усіх об’єктів у порядку їхньої першої появи, а не лише з першого запису. Запис, у якому бракує ключа, отримує порожню клітинку, тому колонки не зсуваються, а необов’язкові поля не зникають.
[{"id":1,"name":"Ada"},
{"id":2,"name":"Alan","note":"optional"}]
id,name,note
1,Ada,
2,Alan,optional
Вкладені об’єкти стають колонками з підкресленням
Об’єкти розгортаються: їхні ключі з’єднуються через підкреслення, і {"address":{"city":"Lisbon"}} стає колонкою address_city. Масив простих значень потрапляє в одну клітинку ("admin, dev"), а масив об’єктів зберігається в клітинці як текст JSON, тож нічого не втрачається.
Коми й лапки екрануються автоматично
Будь-яке значення з комою, подвійними лапками або переносом рядка береться в подвійні лапки, а внутрішні лапки подвоюються. Це стандартне правило CSV, на яке розраховують Excel і Google Таблиці.
2,"Alan, T.","says ""hi"""
Відкриваємо CSV в Excel
CSV не має власних налаштувань, тож Excel вгадує. Найчастіше ламаються дві речі. У країнах, де десятковим роздільником є кома, зокрема в Україні, Excel чекає крапку з комою між стовпцями й може запхати весь рядок в одну клітинку. А кирилиця, іврит чи емодзі перетворюються на дивні символи, якщо файл відкрито в локальному кодуванні замість UTF-8. В обох випадках скористайтеся в Excel Дані → З текстового/CSV-файлу, оберіть UTF-8 і роздільник «кома», і стовпці стануть на місце.
Початкові нулі й довгі числа
Таблиці вважають числом усе, що схоже на число. Індекс на кшталт 01234 втрачає початковий нуль, а 16-значний ідентифікатор на кшталт 1234567890123456 округлюється й показується як 1,23457E+15. Сам CSV при цьому правильний; шкода стається, коли його відкриває Excel. Імпортуйте такі стовпці як текст, а довгі ідентифікатори передавайте в JSON рядками ("id": "1234567890123456"), щоб будь-який інструмент зберіг їх точно.
Масиви всередині записів
Масиви — найскладніша частина будь-якої конвертації: в одному записі може бути багато значень, а в рядку CSV одна клітинка на стовпець. Якщо рознести їх на кілька рядків, повторяться всі інші поля, а якщо на пронумеровані стовпці (tags_1, tags_2…), кожен файл матиме свій заголовок. Коли список простих значень зберігається в одній клітинці, а масив об’єктів — як JSON-текст, кожен запис лишається рівно одним рядком, а вихідні дані за потреби можна відновити.
Перевірте результат, перш ніж ділитися
- Кількість рядків збігається з кількістю записів у JSON-масиві.
- У заголовку є всі очікувані поля, зокрема необов’язкові.
- Вкладені поля перетворилися на стовпці з підкресленням, наприклад address_city.
- Значення з комами, лапками чи переносами рядків залишилися в одній клітинці.
Потрібна таблиця або зворотний напрямок?
Конвертер JSON у CSV від 4Dev щоразу застосовує ті самі правила «сплощення», а інструменти JSON в Excel і CSV у JSON закривають інші поширені випадки. Для швидкої перевірки спершу вставте кілька записів, подивіться на стовпці, а потім конвертуйте весь файл.