ФОРМАТ · TEXT
JSON Lines / JSONL
Последовательность самостоятельных JSON-значений по одному на строку.
- Расширения
- jsonl
- MIME type
- Не закреплён единый зарегистрированный тип; встречаются разные значения
- Представление
- text
- Потоковая обработка
- да
- Комментарии
- нет
- Поддержка схемы
- Для каждой записи отдельно
- Порядок
- Порядок записей сохраняется
- null
- null; пустая строка не запись
- Diff
- Хорошая при коротких записях
- Архивация
- Фиксируйте UTF-8 и завершающий LF
Преимущества
- Можно обрабатывать без загрузки всего файла
Ограничения
- Перенос внутри JSON-строки должен быть экранирован
- JSONL и NDJSON практически совпадают; согласуйте допустимость пустых строк и требования к последнему LF.
Типичные ошибки
- Записывать многострочный pretty JSON
Маленький пример
{"id":1,"name":"Сосна"}
{"id":2,"name":"Ель"}
Среда: Python 3; JSON по одной физической строке.
python3 -c "import json; [json.loads(s) for s in open('example.jsonl', encoding='utf-8')]"