Превратите таблицу электронной таблицы в массив объектов JSON, связанных строкой заголовка.
Инструмент загружается здесь. Требуется JavaScript, потому что работа происходит на вашем устройстве.
Ваши файлы и ваша конфиденциальность
Таблица преобразуется внутри этой вкладки браузера, а JSON создается вами самостоятельно.
устройство. Конечная точка загрузки отсутствует. Код инструмента не отправляет запрос на передачу файла.
вставленный текст или сгенерированный вывод. Запросы сценариев раскрытой аналитики являются отдельными и
описано в Политике конфиденциальности сайта.
Что делает этот инструмент
Преобразование таблицы CSV в JSON: по одному объекту на строку данных, с ключом по именам заголовков, записанным
как массив верхнего уровня. Пустые имена заголовков становятся позиционными ключами, а повторяющиеся имена
суффиксированы, а не перезаписывают друг друга. Преобразование происходит и в другую сторону.
Преобразование превращает каждую строку данных в один объект JSON, используя строку заголовка в качестве ключей.
и записывает таблицу как массив верхнего уровня с отступом в два пробела. Пустая ячейка заголовка
становится позиционным ключом, например, columns_3, а имя, которое появляется дважды, принимает числовое значение.
суффикс, чтобы второй столбец сохранял свои данные, а не перезаписывал первый. Каждое значение
записывается как строка, поскольку файл CSV не содержит информации о типе для преобразования.
Как его использовать
Выберите «Выбрать файл CSV» или «JSON» и загрузите таблицу или вставьте строки прямо в нее.
Убедитесь, что первая строка действительно является заголовком: ее имена становятся ключами точно так же, как
письменное, с пробелами и заглавными буквами.
Сначала разберитесь с предупреждением о неровных строках, поскольку ячейки за пределами последнего столбца заголовка имеют
нет ключа и не дойти до JSON.
Выберите «Загрузить JSON» или «Копировать JSON», чтобы вставить его в другое место. Загрузите CSV там же, для
когда тебе нужно было только навести порядок на столе.
Примеры использования
Загрузка таблицы тестовых приборов в скрипт, который ожидает массив объектов.
Превращение экспортированного продукта или прайс-листа в файл JSON для статической сборки сайта.
Сведение сохраненного ответа JSON API в таблицу, которую можно открыть в электронной таблице.
Поддерживаемый ввод и вывод
Принимает
CSV, TSV или обычный текст со строкой заголовка до 50 MB
JSON, содержащий массив объектов верхнего уровня, для обратного направления
Производит
JSON, массив объектов верхнего уровня со строковыми значениями, с отступом в два пробела.
CSV, UTF-8 с окончаниями CRLF при преобразовании JSON в таблицу
Чего этот инструмент не сделает
Каждое значение записывается в виде строки. Число 42 становится текстом 42, а true становится
текст правдивый; нет вывода типа и нет для него возможности.
Пустая ячейка становится пустой строкой, никогда не нулевой, поэтому код, предоставляющий значение по умолчанию, когда
значение null не предоставит его здесь.
Ячейки, выходящие за пределы ширины заголовка, не имеют ключа и удаляются. Сообщается, что они рваные
строк при загрузке, и это предупреждение, на которое следует действовать.
Первая строка всегда является заголовком, поэтому файл без заголовка передает свою первую запись в
ключевые имена.
Выходные данные представляют собой плоский массив плоских объектов: заголовок, такой как user.name, остается литералом.
ключ с точкой, а повторяющиеся имена получают _2 и _3.
Распространенные ошибки
Передача вывода в код, который ожидает чисел. Добавление строки цифр объединяет
или выдает NaN, а не вызывает ошибку, поэтому ошибка всплывает далеко от
конверсия.
Ожидается, что здесь будет применена опция, безопасная для инъекций формулы. Он принадлежит автору CSV,
поэтому значение, начинающееся со знака равенства, достигает JSON без изменений и является формулой
еще раз, если этот JSON записывается обратно как CSV.
Преобразование файла, в котором сообщалось о неровных строках, и предположение о том, что доставлена каждая ячейка: дополнительные
ячейки отображаются в предварительном просмотре, но никогда не достигают JSON.
Предполагая, что дублированный столбец заголовка перезаписывает первый. Он переименовывается, поэтому данные
сидит под ключом, никто не читает.
Технические примечания
Анализ CSV выполняется в Web Worker с использованием рукописного конечного автомата RFC 4180, который указан в кавычках.
разделители и новые строки внутри полей в кавычках разрешаются до начала преобразования. Ключи
вычисляются один раз из заголовка, и каждая строка сопоставляется по положению, поэтому недостающая ячейка
становится пустой строкой, а не отсутствующим ключом, и каждый объект содержит один и тот же ключ
набор. Обратное направление строит столбцы из объединения ключей всех объектов в
первый увиденный заказ.
Часто задаваемые вопросы
Числа преобразуются в числа JSON?
Нет. Каждое значение записывается в виде строки, поскольку файл CSV не имеет информации о типе и
догадки заключаются в том, как конвертеры превращают код продукта, например 0012, в номер 12. В ролях
значения во всем, что читает JSON.
Что происходит со столбцом без имени заголовка?
Он получает ключ на основе номера столбца, поэтому третий столбец с пустым заголовком становится
столбец_3. Данные сохраняются, а придумывается только имя, поэтому сначала переименуйте столбец, если
тебе нужен настоящий ключ.
Могу ли я преобразовать JSON обратно в CSV?
Да. Загрузите файл .json, содержащий массив объектов верхнего уровня, и он станет таблицей.
Столбцы представляют собой объединение ключей каждого объекта в порядке их первого появления и вложенные
значение записывается в ячейку как текст JSON.