Кто-то из отдела продаж экспортирует таблицу в CSV и просит вас «просто загрузить это в систему». Система ожидает JSON. Поэтому вы пишете быстрый скрипт на Python или Node с библиотекой парсинга CSV, сопоставляете колонки с полями, обрабатываете строку заголовков и надеетесь, что ни одно из значений не содержит запятую, которая сломает вашу наивную логику разбиения по запятой (обычно содержит, спрятанную внутри поля в кавычках).
Это задача, которую разработчики решают снова и снова, каждый раз пишут слегка отличающийся одноразовый код, потому что CSV постоянно встречается как формат экспорта из таблиц, баз данных и аналитических инструментов, в то время как большинство современных инструментов и API ожидают JSON.
Обманчивая простота CSV
CSV выглядит тривиально — разбить по запятым, разбить по переносам строк, готово. Затем вы натыкаетесь на поле, содержащее запятую, заключённую в кавычки согласно спецификации, и ваш наивный парсер ломается. Или поле содержит встроенный перенос строки внутри кавычек, что построчное чтение не может обработать корректно. Правильный разбор CSV на самом деле требует соблюдения правил кавычек, поэтому специализированный конвертер лучше, чем писать это с нуля каждый раз.
Конвертируйте CSV в структурированный JSON
Bellows включает конвертер CSV в JSON, который правильно обрабатывает поля в кавычках и строки заголовков, превращая экспорт из таблицы в массив объектов JSON, готовый к вставке в тестовую фикстуру, тело запроса или скрипт.
Загрузка табличных данных в API
Когда разовый импорт данных не оправдывает написание и поддержку полноценного скрипта, конвертация экспорта CSV напрямую в JSON и вставка его в инструмент тестирования API или файл для наполнения базы данных выполняет задачу за долю времени.
Создание тестовых фикстур из реальных данных
Экспорт выборки данных, похожих на продакшн, в виде CSV из таблицы и конвертация в JSON — быстрый способ создать реалистичные тестовые фикстуры без ручного написания объектов JSON поле за полем.