NDJSON (JSON คั่นด้วยบรรทัดใหม่)
NDJSON เป็นรูปแบบที่แต่ละบรรทัดเป็นอ็อบเจกต์ 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 สำหรับไฟล์ล็อก การสตรีมข้อมูล คำขอ bulk API และสถานการณ์ที่การประมวลผล JSON ทีละบรรทัดเป็นประโยชน์
รายละเอียดทางเทคนิค
แต่ละบรรทัดในไฟล์ NDJSON เป็นค่า JSON ที่สมบูรณ์และแยกตัว (โดยปกติเป็นอ็อบเจกต์) ลงท้ายด้วย \n ไม่มีอาร์เรย์ระดับบนหรือจุลภาคระหว่างเร็กคอร์ด
ประวัติ
NDJSON (เรียกอีกชื่อว่า JSON Lines หรือ JSONL) เกิดจากความจำเป็นในทางปฏิบัติในการสตรีมเร็กคอร์ด JSON ข้อกำหนด ndjson.org เป็นทางการของรูปแบบนี้