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 لملفات السجلات والبيانات المتدفقة وطلبات واجهات برمجة التطبيقات المجمعة وأي سيناريو تكون فيه معالجة JSON سطراً بسطر مفيدة.
التفاصيل التقنية
كل سطر في ملف NDJSON هو قيمة JSON كاملة ومستقلة (عادةً كائن)، منتهية بـ \n. لا يوجد مصفوفة غلاف أو فاصلة بين السجلات، مما يجعل الإضافة والبث والمعالجة بأدوات Unix أمراً بسيطاً.
التاريخ
ظهر NDJSON (يُسمى أيضاً JSON Lines أو JSONL) من الحاجة العملية لبث سجلات JSON. وحّد موقع ndjson.org الاصطلاح في 2014. يُستخدم بواسطة واجهة Elasticsearch للعمليات المجمعة وBigQuery وواجهة OpenAI.