NDJSON (Newline-Delimited JSON)
Newline-Delimited JSON — एक स्ट्रीमिंग-फ्रेंडली JSON फॉर्मेट जहाँ प्रत्येक पंक्ति एक स्वतंत्र JSON ऑब्जेक्ट है। NDJSON लॉगिंग, डेटा पाइपलाइन और बड़े डेटासेट प्रोसेसिंग के लिए आदर्श है।
MIME Type
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 कब उपयोग करें
लॉग एग्रीगेशन (Elasticsearch), स्ट्रीमिंग डेटा प्रोसेसिंग, कमांड-लाइन JSON पाइपलाइन (jq), बड़े डेटासेट जो मेमोरी में फ़िट नहीं होते, और ऐसे API जो स्ट्रीमिंग रिस्पॉन्स प्रदान करते हैं।
तकनीकी विवरण
NDJSON में प्रत्येक पंक्ति एक मान्य JSON वैल्यू है जो \n (0x0A) से अलग होती है। कोई top-level array wrapper नहीं है। प्रत्येक पंक्ति स्वतंत्र रूप से पार्स और प्रोसेस की जा सकती है। UTF-8 एन्कोडिंग मानक है। .jsonl और .ndjson दोनों एक्सटेंशन उपयोग होते हैं।
इतिहास
NDJSON (JSON Lines भी कहा जाता है) 2010 के दशक की शुरुआत में स्ट्रीमिंग JSON प्रोसेसिंग की आवश्यकता से उभरा। Ian Ward ने jsonlines.org स्पेसिफ़िकेशन बनाई। Elasticsearch bulk API, AWS CloudWatch Logs और jq जैसे टूल NDJSON का उपयोग करते हैं।