أدوات المطورين

مقارنة JSON وكشف الفروق

قارن مستندَي JSON حسب القيم، واكتشف الحقول المضافة والمحذوفة، وراجع التغييرات جنباً إلى جنب دون رفع بياناتك.

طريقة الاستخدام

  1. الصق JSON الأصلي والمحدّث، أو افتح ملفاً بترميز UTF-8 لكل طرف.
  2. أبقِ ترتيب المصفوفات عندما يكون لموضع العنصر معنى، أو فعّل تجاهل الترتيب لمقارنة محتوياتها.
  3. اضغط قارن JSON، ثم اختر فرقاً لتحديد موضعه في المدخلين. صفِّ الفروق أو وسّع مساحة العمل لمراجعة أسهل.
  4. انسخ التقرير أو نزّله للاحتفاظ بالنتيجة. يؤدي تعديل أي طرف إلى مسح المقارنة السابقة.

مثال

الإدخال

الأصلي: {"timeout":30,"active":true}. المحدّث: {"active":"true","timeout":45,"retries":3}.

الناتج

/timeout: تغيّرت القيمة من 30 إلى 45. /active: تغيّر النوع من قيمة منطقية إلى نص. /retries: إضافة بالقيمة 3.

اعرف ما تغيّر في البيانات

قد تبدو الاستجابة مختلفة بعد تنسيقها مع أنها تحمل البيانات نفسها تماماً. تتجاهل مقارنة JSON الإزاحة وترتيب مفاتيح الكائنات حتى لا تمتلئ النتيجة بفروق شكلية.

تحدد كل نتيجة موضع الفرق بمسار JSON Pointer وتبيّن إن كان إضافة أو حذفاً أو تغيّراً في القيمة أو النوع، مع عرض القيمة الأصلية والمحدّثة معاً.

اختر طريقة مقارنة المصفوفات

تُقارن المصفوفات حسب الفهرس ما لم تفعّل تجاهل الترتيب. لذلك قد ينتج عن إدراج عنصر قرب بداية قائمة مرتبة عدة مواضع متغيرة.

عند تجاهل الترتيب تُطابق القيم كاملة في جميع مستويات المصفوفات مع احتساب التكرارات. ويظهر الكائن المعدّل كحذف وإضافة؛ فلا تطابق الأداة السجلات حسب المعرّف ولا ترصد عمليات النقل.

راجع استجابات API وملفات الإعدادات

ضع استجابة بيئة الاختبار في الطرف الأصلي واستجابة الإنتاج في الطرف المحدّث لكشف اختلاف الإعدادات. وتناسب الطريقة نفسها أمثلة webhook وبيانات الاختبارات.

استخدم البحث في المسارات لحصر التقرير في فرع مثل /settings. وتساعدك تصفية نوع الفرق على مراجعة الحقول المحذوفة عند التحقق من استمرار عمل عميل API.

إدخال صارم ومقارنة دقيقة للأعداد

يجب أن يكون الطرفان JSON صالحاً بأسماء خصائص غير مكررة. توقف التعليقات والفواصل الزائدة والمفاتيح المكررة المقارنة. ويختلف الحقل الغائب عن null، كما يختلف العدد 1 عن النص "1".

تُقارن القيم العشرية دون تقريب JavaScript، فتظل المعرّفات الكبيرة المختلفة متميزة. وتُعد الصيغ 1 و1.0 و1e0 متساوية. يقبل كل طرف 200,000 حرف و20,000 قيمة و100 مستوى تداخل، ويتوقف التقرير عند 1,000 فرق أو بلوغ حد حجمه، مع تنبيه واضح إن لم يكتمل.

أبقِ مدخلاتك على جهازك

تُعالج النصوص والملفات المحلية داخل علامة التبويب دون رفع المستندين أو حفظهما. يقبل فتح الملفات نصوص UTF-8 بحجم حتى 800 كيلوبايت مع تطبيق حدود الأحرف والبنية نفسها.

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

أسئلة متكررة

هل يهم ترتيب مفاتيح JSON؟

يُتجاهل ترتيب مفاتيح الكائنات والمسافات دائماً. أما ترتيب المصفوفات فيهم ما لم تختر تجاهله.

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

نعم. استخدم فتح ملف فوق أي محرر لقراءة ملف JSON أو نص محلي بترميز UTF-8 وحجم حتى 800 كيلوبايت. ويجب أن يلتزم المحتوى بحدود الإدخال المعروضة أيضاً.

هل null تساوي الحقل غير الموجود؟

لا. الخاصية التي تحمل null موجودة فعلاً. ويُعرض حذفها كفرق حتى لو كانت قيمتها السابقة null.

هل تفقد الأعداد الكبيرة دقتها؟

تعتمد المقارنة على النص الأصلي للأعداد وقيمها العشرية الدقيقة. فهي تميّز 9007199254740992 عن 9007199254740993، وتعد 1.0 مساوية لـ1.

ماذا تعني المسارات؟

تستخدم المسارات JSON Pointer. يشير /items/0/name إلى name في أول عنصر بالمصفوفة. وداخل اسم الخاصية تعني ~1 الرمز / وتعني ~0 الرمز ~. ويكون مسار الجذر فارغاً.

هل يحتوي التقرير على JSON Patch؟

لا. هو تقرير مقارنة يضم المسارات والقيم القديمة والجديدة كنص JSON للحفاظ على الدقة، وليس ملف تعديلات قابلاً للتنفيذ. تؤثر التصفية في العرض فقط، ويضم التصدير جميع الفروق المسجلة.

المقالات

ملاحظة الخصوصية

تجري مقارنة JSON محلياً داخل متصفحك دون رفعها أو حفظها. وتحتوي التقارير المنسوخة والمنزّلة على القيم المتغيرة.

تعمل هذه الأداة داخل متصفحك. لا تتطلب TOOLFINA حساباً لاستخدام الأدوات العامة.