🍋
Menu
.ndjson Data

NDJSON (JSON с разделением по строкам)

NDJSON (Newline Delimited JSON) — формат текстовых данных, в котором каждая строка содержит отдельный валидный JSON-объект. Этот формат идеален для потоковой обработки, логирования и работы с наборами данных, так как строки можно обрабатывать независимо.

MIME-тип

application/x-ndjson

Тип

Текст

Сжатие

Без потерь

Преимущества

  • + Streamable — process one record at a time without loading the entire file
  • + Appendable — add new records by appending lines
  • + Works with Unix tools (grep, head, tail, wc)
  • + Standard for Elasticsearch bulk, BigQuery, and data pipelines

Недостатки

  • No standard for the overall file (no top-level schema)
  • Cannot represent a single JSON object spanning multiple lines
  • Less compact than binary formats for large datasets

Когда использовать .NDJSON

Используйте NDJSON для структурированных логов, потоковых API, дампов Elasticsearch, импорта/экспорта данных и любых задач, где JSON необходимо обрабатывать потоково.

Технические детали

Каждая строка NDJSON — самодостаточный JSON-документ, завершённый символом \n. Нет корневого массива или разделителей-запятых. Это позволяет: добавлять записи в файл, передавать записи потоком, параллельно обрабатывать строки и обрабатывать файлы строка за строкой без полной загрузки в память.

История

NDJSON возник органично в сообществе разработчиков как практическое решение для потоковой передачи JSON. Форматы JSONL (JSON Lines) и NDJSON по сути идентичны. Этот паттерн широко используется в Elasticsearch (bulk API), структурированном логировании и потоках данных.

Конвертировать из .NDJSON

Конвертировать в .NDJSON

Связанные форматы