الأدوات
AR

مقارنة JSON أونلاين

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

JSON الأصلي

JSON المعدّل

خصوصية تامة: تُعالَج بياناتك في متصفحك ولا تُرفع أبدًا.

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

  1. الصق JSON الأصلي في الحقل الأول و JSON المعدّل في الحقل الثاني، أو اسحب ملفًا وأفلته في كل جانب.
  2. اطّلع على الملخص وقائمة الاختلافات: تظهر كل قيمة مضافة أو محذوفة أو معدّلة مع مسارها، مثل $.users[2].email.
  3. مرّر لأسفل إلى العرض جنبًا إلى جنب لرؤية التغييرات في سياقها. وحدّد خيار تجاهل ترتيب عناصر المصفوفة إذا كان ترتيب عناصر القوائم غير مهم.

مقارنة JSON دلالية بدلًا من مقارنة النصوص

تُبلغ مقارنة النصوص العادية عن تغيير كلما انتقل مفتاح من مكانه أو اختلفت المسافة البادئة أو كُتب رقم بطريقة مختلفة. أما مقارنة JSON هذه فتقارن البيانات نفسها:

كيفية قراءة النتائج

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

في العرض جنبًا إلى جنب يُنسَّق المستندان مع ترتيب المفاتيح بحيث تتقابل الأسطر المتطابقة؛ وتُطوى المقاطع الطويلة غير المتغيرة ما لم تُلغِ تحديد خيار إخفاء الأسطر غير المتغيرة.

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

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

لا. كائنات JSON غير مرتبة بحكم تعريفها، لذا تتجاهل المقارنة ترتيب المفاتيح. أما المصفوفات فمرتبة، ما لم تحدد خيار «تجاهل ترتيب عناصر المصفوفة».

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

نعم. تجري المقارنة في متصفحك وتعرض أول 200 اختلاف، مع زر لإظهارها جميعًا؛ ويعرض العرض جنبًا إلى جنب ما يصل إلى 5,000 سطر.

كيف أقارن JSON برمجيًا؟

في Python يختبر json.loads(a) == json.loads(b) التساوي. لا تحتوي JavaScript على مقارنة عميقة مدمجة؛ لكن مكتبات مثل Lodash توفر _.isEqual(a, b). وفي سطر الأوامر، يعرض diff <(jq -S . a.json) <(jq -S . b.json) الأسطر المختلفة.

هل تُرفع بياناتي إلى خادم؟

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