NDJSON (Newline-Delimited JSON)
NDJSON adalah format di mana setiap baris adalah objek JSON yang valid, dipisahkan oleh karakter newline. Konvensi sederhana ini memungkinkan streaming, pemrosesan baris per baris, dan penambahan tanpa parsing seluruh file. Banyak digunakan untuk file log, pipeline data, dan streaming API.
Tipe MIME
application/x-ndjson
Tipe
Teks
Kompresi
Lossless
Kelebihan
- + 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
Kekurangan
- − 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
Kapan Menggunakan .NDJSON
Gunakan NDJSON untuk file log, data streaming, request API bulk, dan skenario apa pun di mana pemrosesan JSON baris per baris bermanfaat.
Detail Teknis
Setiap baris dalam file NDJSON adalah nilai JSON lengkap dan mandiri (biasanya objek), diakhiri dengan \n. Tidak ada array pembungkus atau koma antar record, membuatnya mudah untuk menambahkan, streaming, dan memproses dengan alat Unix.
Riwayat
NDJSON (juga disebut JSON Lines atau JSONL) muncul dari kebutuhan praktis untuk streaming record JSON. Spesifikasi ndjson.org memformalkan konvensi ini pada tahun 2014. Digunakan oleh Elasticsearch bulk API, BigQuery, dan API OpenAI.