مقارنة
JSON Lines أم JSON
JSON Lines (JSON المحدد بأسطر جديدة) اصطلاح نصي بترميز UTF-8 يضع قيمة JSON صالحة ومستقلة في كل سطر. أما نص JSON العادي فيمثل قيمة واحدة كاملة، لذا يناسب JSON Lines المعالجة التسلسلية وإلحاق سجلات متعددة.
أي تنسيق يجب أن تختار؟
فكّر في JSON Lines للسجلات أو الأحداث التي تعالج وتلحق سجلاً تلو الآخر. استخدم JSON العادي لمستند إعداد واحد أو كائن/مصفوفة متداخلة كاملة.
مناسب لـ JSON Lines
السجلات التي تعالج سطراً بسطر · تبادل سجلات JSON على شكل تدفق
- قراءة السجلات وكتابتها تدريجياً
- إلحاق البيانات النصية أو دمجها بأدوات شائعة
مناسب لـ JSON
واجهات ويب API وملفات الإعداد وتبادل البيانات
- نقل البيانات المنظمة
المعلومات الأساسية
| البند | JSON Lines | JSON |
|---|---|---|
| الامتداد | .jsonl, .ndjson | .json |
| نوع MIME | application/jsonl | application/json |
| الاستخدامات الشائعة | السجلات التي تعالج سطراً بسطر · تبادل سجلات JSON على شكل تدفق | واجهات ويب API وملفات الإعداد وتبادل البيانات |
| طريقة الفتح | افتح الملف بمحرر نصوص أو أداة تدعم JSON Lines. يساعد التحقق من كل سطر كـJSON في تحديد السجل الذي يحتوي على خطأ نحوي. | افتحه في محرر نصوص أو IDE أو عارض يدعم JSON. |
| التصدير أو التحويل | لإنشاء مصفوفة JSON، اجمع الأسطر كعناصر فيها. وللتحويل إلى JSON Lines، اكتب كل قيمة في سطر منفصل. راعِ استخدام الذاكرة عند معالجة الملفات الكبيرة. | يمكن للتطبيقات أو أدوات التحويل تحويله إلى تنسيقات مثل CSV. |
الاختيار حسب الاستخدام
قراءة السجلات وكتابتها تدريجياً
السجلات التي تعالج سطراً بسطر · تبادل سجلات JSON على شكل تدفق
JSON Linesإلحاق البيانات النصية أو دمجها بأدوات شائعة
السجلات التي تعالج سطراً بسطر · تبادل سجلات JSON على شكل تدفق
JSON Linesنقل البيانات المنظمة
واجهات ويب API وملفات الإعداد وتبادل البيانات
JSONنقطة أساسية 1
يجب تحليل كل سطر في JSON Lines كقيمة JSON مستقلة. الكائنات شائعة لكن السلاسل والأعداد وnull وسائر قيم JSON مسموحة؛ أما السطر الفارغ فليس سجلاً. يمثل نص JSON العادي قيمة واحدة إجمالاً.
مزيد من التفاصيل حول الاختلافاتنقطة أساسية 2
يستخدم JSON Lines ترميز UTF-8 ويفصل القيم بـLF؛ كما يدعم CRLF باعتباره مسافة بيضاء في JSON. يوصى بسطر نهائي لكنه غير إلزامي، لذا حدد التعامل مع الدمج وحدود التدفق.
مزيد من التفاصيل حول الاختلافاتمزيد من التفاصيل حول الاختلافات
استخدم JSON Lines للمعالجة سجلّاً بسجل ولسجلات يسهل إلحاق بيانات بها إذا كان المستهلك يدعمه. استخدم JSON لمستند منظم واحد. حلل JSON Lines سطراً سطراً ولا تفترض أن الملف كله مستند JSON قياسياً.
- يحتوي ملف JSON Lines على قيم JSON متعددة في المستوى الأعلى تفصلها نهايات الأسطر؛ وقد يرفض محلل مستندات JSON المعتاد الملف كله.
- حدد ترتيب السجلات والتعامل مع الأسطر الفارغة أو غير الصحيحة والاستعادة بعد السجل المعطوب والحاجة إلى فاصل في السطر الأخير.
- يتطلب JSON Lines UTF-8 ولا يتضمن BOM. نوع الوسائط المقترح `application/jsonl` غير موحد بعد؛ اتفق مع المستهلكين على بيانات النقل الوصفية.
الأسئلة الشائعة
هل ملف JSON Lines مجرد مصفوفة JSON؟
لا. إنه تسلسل قيم JSON تفصلها نهايات أسطر، وليس مستند مصفوفة واحداً؛ ويمكن معالجة كل سطر مستقلاً.