تخطي إلى المحتوى
SPCXTools

مقارنة JSON

اكتشف الاختلافات بين كائني JSON بسرعة من خلال مقارنة تفصيلية مساراً بمسار.

تعمل محلياً — ملفاتك لا تغادر جهازك أبداً

جاري تحميل الأداة…

كيفية استخدام مقارنة JSON

  1. 1الصق كود JSON الأصلي في اللوحة اليسرى وكود JSON المعدل في اللوحة اليمنى.
  2. 2تقوم الأداة بتحليل البيانات فوراً وتعرض ملخصاً للحقول المضافة والمحذوفة والمعدلة.
  3. 3حدد خيار "تجاهل ترتيب المصفوفة" إذا كنت ترغب في مقارنة محتويات المصفوفة بغض النظر عن تسلسلها.
  4. 4راجع القائمة التفصيلية للتغييرات، والتي توضح مسار JSON الدقيق والقيم القديمة والجديدة.
  5. 5استخدم زر النسخ لنسخ تقرير نصي بالاختلافات إلى الحافظة.

أداة سريعة وخاصة للتحقق من الفروق في JSON

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

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

كيف تعمل المقارنة العميقة لملفات JSON

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

تعمل هذه الأداة بشكل مختلف؛ فهي تحلل النص إلى كائنات JavaScript فعلية وتُجري مقارنة عميقة وعودية لهيكل البيانات نفسه. كما تتجاهل المسافات البيضاء، والمسافات البادئة، وترتيب المفاتيح. فإذا أصبح {"status": "ok", "code": 200} بالشكل {"code": 200, "status": "ok"}، ستعتبرهما الأداة متطابقين تماماً.

وعندما تعثر الأداة على اختلاف، فإنها تُنشئ مساراً دقيقاً للتغيير باستخدام صيغة النقطة والأقواس المربعة القياسية. على سبيل المثال، إذا تغير الوسم الثالث في مصفوفة، ستوجهك الأداة مباشرة إلى tags[2] بدلاً من مجرد تظليل سطر عشوائي في ملف ضخم.

التعامل مع المصفوفات: المقارنة الصارمة مقابل تجاهل الترتيب

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

افتراضيًا، تقارن هذه الأداة المصفوفات بشكل صارم بناءً على الفهرس. فهي تتحقق مما إذا كان العنصر الأول في النسخة الأصلية يطابق العنصر الأول في النسخة المعدلة، وهكذا.

إذا حددت خيار تجاهل ترتيب المصفوفة، سيتغير سلوك الأداة. حيث تقوم بتسلسل محتويات كلتا المصفوفتين وفرزها أبجديًا قبل مقارنتها. هذا يعني أنه إذا كانت مصفوفتك الأصلية هي ["apple", "banana"] والمعدلة هي ["banana", "apple"]، فلن تبلغ الأداة عن أي تغييرات. هذه الميزة لا تقدر بثمن عند مقارنة استجابات واجهة برمجة التطبيقات (API) من قواعد البيانات التي لا تضمن ترتيبًا معينًا.

حالات الاستخدام الشائعة

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

مراجعة ملفات التكوين. تعتمد التطبيقات الحديثة بشكل كبير على ملفات تكوين JSON، مثل package.json أو tsconfig.json أو قوالب النشر السحابي. قبل اعتماد أي تغيير، استخدم هذه الأداة للتحقق بدقة من التبعيات التي تم تحديثها أو الإعدادات التي تم تعديلها.

تدقيق سجلات قواعد البيانات. تخزن قواعد بيانات المستندات مثل MongoDB السجلات في هياكل بيانات مشابهة لـ JSON. إذا كنت بحاجة إلى تدقيق كيفية تغير ملف شخصي لمستخدم أو مستند معين بمرور الوقت، فإن مقارنة نسخة JSON القديمة المُصدَّرة مع الحالة الحالية توفر مسار تدقيق واضح للحقول المضافة والمحذوفة والمعدلة.

فهم النتائج

بمجرد لصق كود JSON صحيح في كلتا اللوحتين، تُنشئ الأداة ملخصاً وقائمة مفصلة بالتغييرات:

  • مضاف (+): المفاتيح أو عناصر المصفوفة الموجودة في ملف JSON المُعدَّل وغير الموجودة في الملف الأصلي. يتم تمييزها باللون الأخضر.
  • محذوف (−): المفاتيح أو عناصر المصفوفة الموجودة في ملف JSON الأصلي والمفقودة في النسخة المُعدَّلة. يتم تمييزها باللون الأحمر.
  • مُعدَّل (~): المفاتيح الموجودة في كلتا النسختين ولكن بقيم مختلفة (على سبيل المثال، تم تحديث نص، أو تغيرت قيمة منطقية من true إلى false). يتم تمييزها باللون الأصفر، مع عرض القيمتين القديمة والجديدة.

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

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

الأسئلة الشائعة

كيف تتعامل أداة مقارنة JSON مع المصفوفات؟
افتراضياً، تُقارن المصفوفات بدقة حسب ترتيب الفهرس. إذا حددت "تجاهل ترتيب المصفوفة"، ستقوم الأداة بفرز المصفوفات حسب محتواها قبل المقارنة. هذا مفيد عندما لا يكون ترتيب العناصر مهماً، ولكن يجب أن تكون البيانات نفسها متطابقة.
هل تُرسل بيانات JSON الخاصة بي إلى خادم؟
لا. تتم جميع عمليات التحليل والمقارنة محلياً في متصفحك باستخدام JavaScript. لا تُرفع بياناتك أبداً، مما يجعل هذه الأداة آمنة تماماً للتعامل مع استجابات API الحساسة، أو عمليات تصدير قواعد البيانات، أو ملفات الإعدادات الخاصة.
ماذا يحدث إذا كانت بيانات JSON غير صالحة؟
ستعرض الأداة رسالة خطأ أسفل مربع النص توضح مكان فشل التحليل. يجب إدخال بيانات JSON صالحة في كلا اللوحتين لإجراء المقارنة.
هل يمكنني التبديل بين كود JSON الأصلي والمعدل؟
نعم، انقر على زر "تبديل" لعكس اللوحتين اليمنى واليسرى فوراً. يؤدي هذا إلى عكس منظور ما يُعتبر "مُضافاً" أو "مُزالاً".
كيف تُقارن الكائنات المتداخلة؟
تفحص الأداة الكائنات والمصفوفات المتداخلة بشكل متكرر، وتُنشئ مساراً دقيقاً (مثل "user.address.city" أو "items[2].id") لكل اختلاف تعثر عليه.
لماذا أستخدم هذه الأداة بدلاً من أداة مقارنة النصوص العادية؟
تُقارن أدوات فحص النصوص العادية أسطر النص. إذا كان لنفس كائن JSON مفاتيح بترتيب مختلف، فستعتبره أداة مقارنة النصوص تغييراً كبيراً. أما أداة مقارنة JSON فتحلل بنية البيانات الفعلية، لذا فهي تدرك أن {"a":1, "b":2} و {"b":2, "a":1} متطابقان تماماً.