ما هو JSON ولماذا يتعطل؟

JSON (JavaScript Object Notation) هو تنسيق بيانات خفيف الوزن يُستخدم لتخزين وتبادل المعلومات بين الأنظمة. يتبع قواعد بناء جملة صارمة: يجب أن تستخدم النصوص علامات اقتباس مزدوجة، والكائنات تحتاج إلى أقواس مناسبة، والمصفوفات تتطلب أقواس معقوفة، والفواصل الزائدة محظورة. حتى حرف واحد في مكان خاطئ يمكن أن يجعل المستند بأكمله غير صالح.

يتعطل JSON بشكل شائع عند نسخه من السجلات أو رسائل الدردشة أو محررات الأكواد. غالباً ما يؤدي التحرير اليدوي إلى أخطاء مثل علامات اقتباس مفقودة أو أحرف غير مهروبة أو أقواس غير متطابقة. قد تُرجع واجهات برمجة التطبيقات استجابات معيبة، وقد تتلف ملفات الإعدادات أثناء التعديلات اليدوية.

وصف الأداة

تقوم أداة JSON Repairer هذه بإصلاح مستندات JSON المعطوبة أو المشوهة تلقائياً. تحلل الإدخال وتحدد أخطاء البناء الجملي وتعيد بناء JSON صالح مع الحفاظ على هيكل البيانات والقيم الأصلية. تتعامل الأداة مع المشاكل الشائعة التي قد تتطلب خلاف ذلك تصحيحاً يدوياً مملاً.

أمثلة

علامات اقتباس مفقودة حول المفاتيح:

{name: "John", age: 30}

مُصلح:

{ "name": "John", "age": 30 }

فواصل زائدة:

{ "items": ["apple", "banana", "orange"] }

مُصلح:

{ "items": ["apple", "banana", "orange"] }

علامات اقتباس مفردة بدلاً من المزدوجة:

{'status': 'active', 'count': 5}

مُصلح:

{ "status": "active", "count": 5 }

قيم نصية بدون علامات اقتباس:

{"message": Hello World}

مُصلح:

{ "message": "Hello World" }

أقواس إغلاق مفقودة:

{"data": [1, 2, 3}

مُصلح:

{ "data": [1, 2, 3] }

الميزات

  • إضافة علامات اقتباس مفقودة حول المفاتيح وقيم النصوص تلقائياً
  • إزالة الفواصل الزائدة من المصفوفات والكائنات
  • تحويل علامات الاقتباس المفردة إلى مزدوجة
  • إصلاح الأقواس والأقواس المعقوفة غير المتطابقة أو المفقودة
  • خيار التنسيق مع طباعة جميلة أو إخراج مضغوط

كيفية العمل

تحلل خوارزمية الإصلاح الإدخال حرفاً تلو الآخر، وتبني هيكل JSON صالح. عند مواجهة بناء جملة غير صالح، تطبق قواعد التصحيح بناءً على أخطاء JSON الشائعة. يتم استنتاج علامات الاقتباس المفقودة من السياق، وتُغلق الأقواس غير المتطابقة في المواضع المناسبة، والأحرف غير الصالحة يتم التعامل معها أو هروبها. والنتيجة هي JSON صحيح من الناحية النحوية يمكن تحليله بواسطة أي محلل JSON.

حالات الاستخدام

  • تصحيح استجابات واجهة برمجة التطبيقات: إصلاح JSON المشوه المُرجع من واجهات برمجة التطبيقات أو خدمات الويب قبل المعالجة
  • تنظيف بيانات السجل: إصلاح أجزاء JSON المستخرجة من سجلات التطبيق أو مخرجات وحدة التحكم
  • إصلاح ملفات الإعدادات: تصحيح إعدادات JSON المحررة يدوياً التي تراكمت فيها أخطاء البناء الجملي

القيود

  • لا يمكن إصلاح النصوص غير المنظمة تماماً التي لا تشبه JSON
  • قد تفسر الإدخال الغامض بشكل مختلف عما هو مقصود (تحقق دائماً من الإخراج)
  • الأخطاء الدلالية (أنواع البيانات الخاطئة والقيم غير الصحيحة) لا يتم اكتشافها أو إصلاحها