Pack Camo

Data Studio

Переносите структурированный текст между JSON, YAML, TOML, CSV и Markdown. Всё выполняется локально — ничего не отправляется на сервер.

Вход
JSON · JSONL · YAML · TOML · CSV · TSV · Markdown
Выход
JSON · JSONL · YAML · TOML · CSV · TSV · HTML

Исходник

JSON · 320 B

Результат

YAML

Одно дерево, шесть форматов

Каждая конвертация разбирает исходник в единое типизированное дерево, а затем записывает это дерево в целевом формате. Именно поэтому обратные преобразования честны: число остаётся числом, вложенность сохраняется, а ключи объектов остаются в том порядке, в каком были записаны, вместо того чтобы незаметно выстроиться по алфавиту. По той же причине добавить формат — это один парсер и один сериализатор, а не новый особый случай для каждой пары.

Для чего хорош каждый формат

JSON
Формат обмена по умолчанию. Сохраняет вложенность и типы.
YAML
Удобен для конфигов и комментариев, хотя комментарии не переносятся.
TOML
Требует таблицу в корне. Значения null отбрасываются — в TOML их нет.
CSV
Готов для таблиц. Нужен массив объектов; вложенные значения становятся JSON-ячейками.
TSV
CSV с табуляцией. Надёжнее, когда в данных много запятых.
JSONL
Один документ на строку. Формат конвейеров логов и наборов данных для LLM.

Неудобные случаи, обработанные намеренно

  • В CSV нет типов. Ячейка становится числом только тогда, когда вывод этого числа в точности воспроизводит исходный текст, поэтому 007 остаётся строкой, а 12 — нет.
  • В CSV нет вложенности. При записи таблицы из вложенных данных вложенные значения остаются в ячейке в виде JSON, вместо того чтобы изобретать схему уплощения, которую вам потом пришлось бы разворачивать обратно.
  • В TOML нет null. Ключи со значением null отбрасываются, а не ломают весь документ, а исходник, у которого в корне не объект, отклоняется сразу — TOML требует там таблицу.
  • Комментарии — не данные. Комментарии YAML и TOML живут вне дерева, поэтому не переживают конвертацию. Перенести их не может ничто.

Часто задаваемые вопросы

Как конвертировать JSON в YAML или YAML в JSON?
Вставьте или перетащите документ, подтвердите распознанный входной формат и выберите выходной. Оба направления проходят через одно и то же типизированное дерево, поэтому вложенность, числа и логические значения переживают путь.
Сохраняются ли ведущие нули при конвертации CSV в JSON?
Да. Ячейка превращается в число только тогда, когда вывод этого числа в точности воспроизводит исходный текст, поэтому идентификатор вроде 007 остаётся строкой "007", а 12 становится числом 12.
Сохраняется ли порядок ключей в моём JSON?
Да. Ключи объектов сохраняют порядок из документа, а не сортируются по алфавиту, поэтому результат по-прежнему можно сравнивать с исходным файлом через diff.
Почему конвертация в TOML не удалась?
TOML требует таблицу на верхнем уровне, поэтому массив или одиночное значение представить нельзя. Кроме того, в TOML нет null: ключи со значением null отбрасываются, а не ломают весь документ.
Что такое JSONL и когда его использовать?
JSONL — он же NDJSON — размещает по одному компактному JSON-документу на каждой строке. Его используют конвейеры логов и наборы данных для машинного обучения, потому что читатель может обрабатывать его потоком, запись за записью, вместо того чтобы сначала разбирать весь файл.