Перейти к содержанию

Конвертер JSONL

Преобразование между массивом объектов JSON и JSONL / NDJSON, по объекту на строку.

Входные данные
Выходные данные

Конвертер JSONL

JSONL (он же NDJSON) хранит по одному объекту JSON на строку вместо того, чтобы упаковывать всё в один массив. Именно этот формат ожидают большинство наборов данных для дообучения языковых моделей, конвейеры журналов и потоковые интерфейсы API: читатель обрабатывает записи по одной и не загружает весь файл в память. Инструмент работает в обе стороны: вставьте массив объектов JSON и получите JSONL либо вставьте JSONL и получите обратно один массив.

Массив, преобразованный в JSONL, всегда даёт по одному компактному объекту на строку — так устроен формат, поэтому настройки оформления действуют на стороне массива. «Отступ массива» определяет, как записан итоговый массив: два или четыре пробела для читаемого файла, удобного для сравнения, либо минифицированный вариант для самого короткого вывода. «Пропускать пустые строки» игнорирует пустые строки во вставленном JSONL вместо того, чтобы считать их ошибкой. «Показывать номер строки при ошибке» называет строку, на которой разбор прервался, поэтому испорченная запись в выгрузке на 50 000 строк находится сразу. «Сохранять порядок ключей» оставляет ключи каждого объекта такими, как они записаны; отключите этот пункт, чтобы отсортировать их по алфавиту и упростить сравнение.

Оба направления одинаково понимают переводы строк Windows и Unix и обрабатывают десятки тысяч записей заметно быстрее секунды. Точное время указано в сводке под результатом вместе с числом записей на входе и выходе и количеством пропущенных пустых строк.

Всё выполняется локально в браузере. Данные никуда не отправляются, что важно для обучающих наборов, журналов API и выгрузок, где могут быть личные сведения. Скопируйте результат, скачайте его файлом .txt или отправьте в другой инструмент — например, в форматировщик JSON или конвертер JSON в CSV.

FAQ

Чем JSONL отличается от NDJSON?
Это один формат под двумя названиями: по одному значению JSON на строку, без внешнего массива и без запятых между строками. Инструмент считает их одним и тем же.
Поддерживает ли направление «массив в JSONL» вывод с отступами?
Нет — JSONL требует ровно одно значение JSON на строку, поэтому каждая строка компактна. Отступ действует только при обратном преобразовании в массив.
Что происходит с пустыми строками в файле JSONL?
При включённом пункте «Пропускать пустые строки» (по умолчанию) они игнорируются. Отключите его, и пустая строка будет показана как ошибка разбора с номером строки.
Как сообщается об ошибках разбора?
При включённом пункте «Показывать номер строки при ошибке» сообщение называет строку, которую не удалось прочитать, и причину, поэтому вы сразу перейдёте к нужной записи.
Мои данные куда-нибудь загружаются?
Нет. Преобразование целиком выполняется в браузере — ваш JSON или JSONL не покидает устройство.