0

مدقق اختلافات JSON

قارن حمولتي JSON هيكلياً وليس نصياً: شاهد كل مفتاح أُضيف أو أُزيل أو تغيّر في مساره الخاص، وكل ذلك داخل متصفحك.

🔒 تتم معالجتها بالكامل في متصفحك — ولا يتم تحميل أي شيء تدخله هنا على الإطلاق.

جارٍ المعالجة... 0%

النتيجة

لصق مستندي JSON في أداة عرض فروق نصية عادية يُعطي الصورة الخاطئة دائماً تقريباً: إعادة التنسيق أو إعادة الإزاحة أو مجرد إصدار تسلسلي لمفاتيح الكائنات بترتيب مختلف سيُشعل مساحات شاسعة من النصوص 'المتغيّرة' حتى حين تكون البيانات الأساسية متطابقة. عرض الفروق النصي يقارن محارفاً وسطوراً، ولا يعلم البتة أن {"a":1,"b":2} و {"b":2,"a":1} يعنيان الشيء ذاته تماماً.

تعمد هذه الأداة إلى تحليل كلا المُدخلين بصيغة JSON أولاً، ثم تتعمق في البنيتين بتكرارية وفقاً لشكل البيانات الفعلي: تُقارن الكائنات باسم المفتاح، والمصفوفات بالموضع (مقارنة المصفوفات المبنية على الفهرس هي افتراض متعمد أبسط هنا — لا يوجد وضع 'التعامل مع هذه المصفوفة كمجموعة غير مرتبة تُفهرس بحقل id'). يُعرَض كل اختلاف في مساره الخاص، مثل user.address.city، ويُصنّف كمُضاف أو مُزال أو متغيّر، مع عرض القيمتين القديمة والجديدة معاً كي لا تضطر أبداً لتخمين ما الذي تبدّل.

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

إذا احتجت عرض فروق سطرية كلاسيكية جنباً لجنب لنصوص عادية أو شيفرات أو أي محتوى ليس JSON، فاستعمل أداة Text Diff المرافقة بدلاً منها — فهي تقارن سطراً بسطر وهي الأداة الصحيحة حين تكون المسافات البيضاء واختلافات التنسيق ذات أهمية فعلاً. هذه الأداة هنا خاصة بـ JSON، وهي ككل أداة في هذا الموقع، تعمل بأكملها في متصفحك: لا يُرفع أي شيء تلصقه إلى أي مكان مطلقاً.