Що це за інструмент?
API та бази даних зазвичай повертають дані у форматі JSON, але електронні таблиці, Excel, Google Таблиці та більшість інструментів імпорту даних очікують CSV. Цей інструмент долає цю прогалину: вставте масив об'єктів JSON (наприклад, відповідь API), і він побудує CSV з одним стовпцем на кожен унікальний ключ і одним рядком на кожен об'єкт.
Конвертація обробляє деталі, які ламають наївні підходи: значення з комами чи лапками правильно екрануються, відсутні поля стають порожніми клітинками замість збою конвертації, а вкладені об'єкти чи масиви всередині поля серіалізуються як текст JSON у цій клітинці, а не тихо відкидаються.
Результат дотримується правил лапкування RFC 4180, фактичного стандарту CSV: будь-яке поле, що містить кому, подвійну лапку чи розрив рядка, обгортається подвійними лапками, а лапки всередині поля подвоюються. Саме це утримує значення на кшталт New York, NY в одному стовпці замість тихого поділу на два.
Навіщо його використовувати?
- Автоматичне визначення заголовків — список стовпців будується з об'єднання ключів усіх об'єктів, тож неузгоджені записи не ламають результат.
- Правильне екранування CSV — значення з комами, лапками чи розривами рядків правильно береться в лапки, тож файл відкривається чисто в Excel чи Google Таблицях.
- Обробляє вкладені дані — об'єкт чи масив усередині поля серіалізується в текст JSON замість помилки.
- Копіювання в буфер обміну чи пряме завантаження як файлу .csv.
- 100% на боці клієнта — ваші дані (відповіді API, експортовані записи) ніколи нікуди не завантажуються.
Як користуватися
- Вставте масив об'єктів JSON, напр. [{"name":"Alice","age":30},{"name":"Bob","age":25}].
- Натисніть "Конвертувати в CSV".
- Перегляньте результат — скопіюйте його або натисніть "Завантажити CSV", щоб зберегти файл.
- Відкрийте завантажений файл у Excel, Google Таблицях чи будь-якому іншому інструменті для електронних таблиць.
Приклад
Введення
[{"name":"Alice","age":30},{"name":"Bob","city":"NYC"}]Результат
name,age,city
Alice,30,
Bob,,NYCЗверніть увагу, як "city" і "age" обидва стають стовпцями, хоча жоден окремий об'єкт не має обох — відсутні значення просто залишаються порожніми.
Практичні поради
- Конвертація відповіді API для звіту в електронній таблиці: вставте масив JSON безпосередньо з вкладки Network браузера чи інструмента тестування API, конвертуйте і завантажте — без потреби в проміжному скрипті.
- Робота з неузгодженими записами (наприклад, опційні поля з експорту форми): автоматичне визначення заголовків означає, що вам не потрібно спочатку вручну узгоджувати схеми.
- Якщо ваш JSON — один великий об'єкт із вкладеним масивом (наприклад, {"users": [...]}), витягніть саме частину масиву (частину [...]) перед вставленням сюди.
Чому важливий порядок і повнота стовпців
Тонка, але поширена помилка CSV трапляється, коли дані експортують, вручну пишучи заголовки спочатку і сподіваючись, що кожен рядок відповідатиме: якщо рядок 50 із 1000 має додаткове поле, якого не було в попередніх рядках, наївний рядок-за-рядком запис CSV або тихо відкидає це поле, або зсуває всі наступні стовпці, порушуючи вирівнювання. Цей інструмент уникає такого збою, спочатку скануючи кожен об'єкт у масиві, щоб побудувати повний і правильний рядок заголовків перед записом хоча б одного рядка результату — тож поле, що з'являється лише раз, у самому останньому об'єкті, все одно отримує власний стовпець, а значення для нього в усіх інших рядках правильно показується порожнім, а не пошкоджує структуру рядка.
Часті запитання
Чи працює це з одним об'єктом JSON замість масиву?
Очікується масив — обгорніть один об'єкт у квадратні дужки, наприклад, змініть {"name":"Alice"} на [{"name":"Alice"}], і він конвертується в однорядковий CSV.
Що трапляється з вкладеними об'єктами чи масивами всередині поля?
Вони серіалізуються як текст JSON у цій клітинці (наприклад, поле, що містить {"a":1}, стає текстом "{""a"":1}" у CSV, правильно екрановане лапками), замість того щоб викликати помилку чи бути відкинутим. Якщо вам потрібно розгорнути вкладені дані в окремі стовпці, це потребує іншого, специфічного для схеми інструмента.
Чи завантажуються мої дані на сервер?
Ні. Конвертація виконується як JavaScript повністю у вашому браузері — нічого нікуди не надсилається, що робить безпечним використання з експортованими даними клієнтів чи бізнесу.
Чому в моєму CSV порожні клітинки?
Якщо деяким об'єктам у вашому масиві бракує ключа, який є в інших, цей стовпець існує, але клітинка залишається порожньою для об'єктів, у яких його немає — це зберігає всі ваші дані замість помилки через неузгоджені записи.
Чи зламають CSV значення з комами?
Ні. Будь-яке значення з комою, символом лапки чи розривом рядка автоматично обгортається лапками (з екрануванням внутрішніх лапок) за стандартними правилами CSV, тож воно правильно відкривається в Excel і Google Таблицях.