ما هو JSON Diff Checker؟
يقارن JSON Diff Checker بين مستندين من JSON هيكليًا بدلاً من سطر بسطر. بدلاً من إخبارك بأن "السطر 14 يختلف"، فإنه يوزع كلاً من المستندات والتقارير بالضبط عن المفاتيح التي تمت إضافتها أو إزالتها أو تغييرها - مع مسارات كاملة مثل الميزات.rateLimit أو العلامات [2] - حتى تتمكن من رؤية ما تغير بين اثنين من استجابات API أو ملفات التكوين أو بيانات الحزمة في لمحة.
تنتج أدوات الفرق المستندة إلى النص ضوضاء على JSON: تظهر المفاتيح المعاد ترتيبها أو المسافات البادئة المختلفة كتغييرات حتى عندما تكون البيانات متطابقة. يتجاهل الفرق الهيكلي التنسيق تمامًا ويقارن القيم التي تم تحليلها. كما أنه يلتقط فئة من الأخطاء التي تخفي الفروق البسيطة، مثل قيمة تغير النوع بصمت من الرقم 3000 إلى السلسلة "3000" - تم وضع علامة عليها هنا على أنها إدخال "تم تغيير النوع" مميز، لأن هذا الاختلاف يكسر المستهلكين ذوي الكتابة الصارمة على الرغم من أنها تبدو متطابقة في لمحة.
تعمل المقارنة من جانب العميل في متصفحك. إن JSON الذي تقوم بلصقه - حمولات واجهة برمجة التطبيقات، وتكوينات البيئة، وتصدير قاعدة البيانات - لا يترك جهازك أبدًا، لذلك من الآمن مقارنة المستندات من الأنظمة الداخلية أو أنظمة الإنتاج. يؤدي النقر فوق "مقارنة" إلى إرسال فحص الاستخدام وسجل لعدد الاختلافات التي تم العثور عليها فقط. لا يوجد تسجيل ولا تحميل، وتعمل الأداة دون اتصال بالإنترنت بمجرد تحميل الصفحة.
تُظهر عينة التحميل ما يبلغ عنه مدقق فرق JSON عند مقارنة ملفين من ملفات JSON يختلفان في كل شيء. يحتوي الملف الأصلي على "إصدار": "1.4.0"، و"منفذ": 3000، وrateLimit 100؛ يحتوي الملف المحدث على "1.5.0"، و"منفذ": "3000"، وrateLimit 250، ومفتاح مقاييس جديد وعلامة ثالثة. تُرجع المقارنة 5 اختلافات: +2 تمت إضافته (الميزات.المقاييس، العلامات [2])، و~2 تم تغييره (الإصدار، الميزات.rateLimit) و!1 تم تغيير النوع (المنفذ). نسخ التقرير يحول ذلك إلى خمسة أسطر محددة، بدءًا من الإصدار ~: "1.4.0" → "1.5.0".
المقارنة من الناحية الهيكلية وليس كنص هي ما يجعل النتيجة قابلة للقراءة، وتعتمد على حقيقة حول JSON لا يمكن لفارق النص استخدامها: مفاتيح الكائنات غير مرتبة حسب المواصفات، لذا فإن الوثيقتين اللتين تختلفان فقط في ترتيب المفاتيح هما نفس المستند، وسيبلغ الفرق القائم على السطر عن كل سطر على أنه تم تغييره. المصفوفات هي العكس، نظرًا لأن الترتيب في المصفوفة له معنى، لذا فإن القائمة المعاد ترتيبها تمثل فرقًا حقيقيًا افتراضيًا. يوجد خيار تجاهل ترتيب المصفوفة للحالة الشائعة حيث تقوم واجهة برمجة التطبيقات بإرجاع مجموعة بأي تسلسل تريده. تتم مقارنة الأرقام بالقيمة، لذا فإن 1.0 و1 متطابقان، وهو ما تريده عادةً ويخفي أحيانًا تغيير النوع. يتم الإبلاغ عن تغييرات النوع بشكل منفصل لهذا السبب، نظرًا لأن الحقل الذي ينتقل من الرقم 5 إلى السلسلة "5" يكسر المستهلكين بينما يبدو متطابقًا تقريبًا.
كيفية استخدام مدقق JSON Diff؟
لصق كل من مستندات JSON
الصق JSON الأصلي في اللوحة اليسرى و JSON المحدث في اللوحة اليمنى ، أو انقر فوق نموذج التحميل لرؤية مثال عملي مع كل نوع اختلاف.
اختر خيارات المقارنة
قم بتمكين "تجاهل ترتيب المصفوفة" إذا كان موضع العنصر غير ذي صلة ببياناتك - وهو مفيد لقوائم العلامات أو مجموعات المعرفات حيث يجب أن يساوي [1،2،3] [3،2،1].
قارن
انقر فوق مقارنة. يتم التحقق من صحة كلا الوثيقتين أولاً - إذا كان لدى أي من الجانبين خطأ في بناء الجملة، فستحصل على رسالة التحليل الدقيقة والجانب الذي جاءت منه.
مراجعة وتصدير الفرق
اقرأ عدد الملخصات ، ثم امسح جدول الاختلافات بمسارات JSON والقيم القديمة والقيم الجديدة. انسخ تقرير الفرق إلى الحافظة للصقها في تعليق أو تذكرة علاقات عامة.
الميزات الرئيسية
هيكلي وليس نصي
يقارن القيم التي تم تحليلها ، لذا لا تظهر أبدًا ترتيبات المفتاح والمسافة البادئة والاختلافات في المسافات البيضاء كتغييرات خاطئة
مسارات JSON بالضبط
يتم الإبلاغ عن كل اختلاف بمساره الكامل - الميزات.rateLimit، المستخدمون [3].email - حتى تتمكن من الانتقال مباشرة إلى التغيير
كشف تغيير النوع
يتم وضع علامة على رقم يتحول إلى سلسلة (3000 → "3000") بشكل منفصل عن تغيير القيمة ، ويلتقط الأخطاء في الاختباء
تجاهل خيار ترتيب المصفوفة
تعامل مع المصفوفات كمجموعات غير مرتبة عندما يكون موضع العنصر غير ذي صلة ، مما يزيل الضوضاء من القوائم المعاد فرزها
Frequently Asked Questions
Related Tools
CSV Diff Checker
Compare two CSV files and see which rows were added, removed, or changed, down to the exact cell. Match rows by a key column or by position. Runs client-side.
Compare Two Lists
Compare two lists to find common items, items unique to each list, and duplicates within a list. Case-insensitive matching, any delimiter, instant set operations. Client-side.
XML Diff Checker
Compare two XML documents structurally and see which elements, attributes, and text values were added, removed, or changed, by node path rather than by line. 100% client-side.
YAML to JSON Converter
Convert YAML to JSON instantly - anchors, aliases, merge keys, block scalars and multi-document streams supported
Comments
0 comments
No comments yet. Be the first to share your thoughts!