مقارنة
CBOR أم JSON
CBOR تنسيق تبادل ثنائي يوسع نموذج بيانات JSON، ويشمل قيماً مثل سلاسل البايتات والعلامات. أما JSON فهو تنسيق نصي مقروء واسع الاستخدام في واجهات الويب وأدوات الإعداد.
أي تنسيق يجب أن تختار؟
اختر JSON للنص الذي يحرره الأشخاص أو يفحصونه وللتوافق مع واجهات JSON الحالية. وفكّر في CBOR عندما يحتاج البروتوكول بيانات ثنائية مضغوطة أو بايتات أو أنواعاً موسعة أو ترميزاً حتمياً.
مناسب لـ CBOR
تبادل بيانات منظمة على الأجهزة والشبكات محدودة الموارد · تمثيل البيانات في COSE وبروتوكولات إنترنت الأشياء
- تمثيل بيانات شبيهة بـ JSON بصيغة ثنائية موجزة
- استخدام وسوم قياسية أو خاصة بالتطبيق لتوضيح معنى القيم
مناسب لـ JSON
واجهات ويب API وملفات الإعداد وتبادل البيانات
- نقل البيانات المنظمة
المعلومات الأساسية
| البند | CBOR | JSON |
|---|---|---|
| الامتداد | .cbor | .json |
| نوع MIME | application/cbor | application/json |
| الاستخدامات الشائعة | تبادل بيانات منظمة على الأجهزة والشبكات محدودة الموارد · تمثيل البيانات في COSE وبروتوكولات إنترنت الأشياء | واجهات ويب API وملفات الإعداد وتبادل البيانات |
| طريقة الفتح | اقرأ الملف بمكتبة أو أداة فك ترميز CBOR، ثم افحص تدوين التشخيص أو عرضاً شبيهاً بـ JSON. تحقق من طريقة تمثيل القيم التي لا مقابل مباشراً لها في JSON، مثل الوسوم والسلاسل الثنائية. | افتحه في محرر نصوص أو IDE أو عارض يدعم JSON. |
| التصدير أو التحويل | عند التحويل إلى JSON، قد تحتاج السلاسل الثنائية والقيم الموسومة إلى تمثيل خاص بالأداة. للتواقيع والتجزئات ومفاتيح التخزين المؤقت، اتبع قواعد الترميز المتفق عليها في البروتوكول، مثل الترميز الحتمي في RFC 8949. | يمكن للتطبيقات أو أدوات التحويل تحويله إلى تنسيقات مثل CSV. |
الاختيار حسب الاستخدام
تمثيل بيانات شبيهة بـ JSON بصيغة ثنائية موجزة
تبادل بيانات منظمة على الأجهزة والشبكات محدودة الموارد · تمثيل البيانات في COSE وبروتوكولات إنترنت الأشياء
CBORاستخدام وسوم قياسية أو خاصة بالتطبيق لتوضيح معنى القيم
تبادل بيانات منظمة على الأجهزة والشبكات محدودة الموارد · تمثيل البيانات في COSE وبروتوكولات إنترنت الأشياء
CBORنقل البيانات المنظمة
واجهات ويب API وملفات الإعداد وتبادل البيانات
JSONنقطة أساسية 1
JSON نص ممثل بأحرف؛ وعناصر CBOR بايتات ثنائية. يدعم CBOR الأعداد الصحيحة وسلاسل البايتات والعلامات مباشرة، بينما يحتاج JSON غالباً إلى اصطلاح مثل base64 للقيم الثنائية.
مزيد من التفاصيل حول الاختلافاتنقطة أساسية 2
يعرّف JSON وفق RFC 8259 الكائنات والمصفوفات والسلاسل والأرقام والمنطقية وnull دون اشتراط مخطط للتطبيق. يضيف CBOR قيماً ذات علامات ويوسع نموذج JSON.
مزيد من التفاصيل حول الاختلافاتمزيد من التفاصيل حول الاختلافات
استخدم JSON للواجهات النصية القابلة للفحص والأدوات الواسعة. استخدم CBOR للبروتوكولات الثنائية التي تستفيد من البايتات أو العلامات أو الترميز الحتمي. اتفق الطرفان على معنى العلامات ونطاقات الأرقام والتطبيع والمكتبات المدعومة.
- صيغة CBOR التشخيصية مخصصة للتصحيح؛ أما التبادل الفعلي فيستخدم عناصر ثنائية. تبادل JSON نصي.
- قد يفقد تحويل CBOR إلى JSON العلامات وتمييز سلاسل البايتات وتمثيل الأعداد ودقتها أو خصائص الترميز الحتمي.
- حدد التعامل مع العلامات المجهولة والأعداد الكبيرة ومفاتيح الخرائط المكررة والقيم التي لا مقابل مباشر لها في JSON، واختبر التنفيذات برسائل حقيقية.
الأسئلة الشائعة
هل CBOR مجرد JSON مضغوط؟
لا. لدى CBOR نموذج ثنائي خاص ويدعم قيماً مثل سلاسل البايتات والعلامات التي لا يمثلها JSON أصلياً.