JSON

JSON Diff / Compare

مقارنة مستندي JSON — ما تمت إضافته أو حذفه أو تغييره، مع المسار الدقيق لكل اختلاف.


                        
                    

Unlike a plain text diff, JSON Diff compares two documents by structure rather than by line: it understands that key order in an object doesn't matter, and it shows the exact path (e.g. user.address.city) to every difference.

How to use it

Common uses

Things to keep in mind

Array elements are usually compared by position (index) — inserting one element near the start can show every following item as "changed", even though they merely shifted.

The comparison is structural, not textual — two JSON documents with identical data but different formatting or key order are treated as the same.

مقالة عن هذه الأداة: JSON Diff: كيف تختلف المقارنة البنيوية عن النصية

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

كيف تُقارن الأداة عناصر المصفوفات؟

تتم المقارنة عادة حسب الموضع (الفهرس)، لذلك حتى لو أعدت ترتيب عناصر متطابقة في مصفوفة فقد تظهر كـ"تغيّر" بدلاً من أن تُكتشف كمجرد نقل.

ما الذي تعرضه الأداة بالضبط لكل اختلاف؟

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

هل يُرفع أي من المستندين إلى خادم أثناء المقارنة؟

لا، تتم المقارنة بالكامل داخل المتصفح عبر JavaScript دون رفع أي بيانات إلى خارج جهازك.

هل يُؤخذ ترتيب مفاتيح الكائن بعين الاعتبار في نتيجة المقارنة؟

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

هل يمكن مقارنة عناصر المصفوفة حسب المعرّف بدلًا من الموضع؟

يعتمد ذلك على خوارزمية المقارنة المستخدمة. أدوات الديف البسيطة تقارن عناصر المصفوفة دائمًا حسب الفهرس؛ الأدوات الأكثر تطورًا تحاول مطابقة الكائنات بحقل مشترك مثل id لإظهار الإدراج أو الحذف بدقة أكبر.

مقالات: JSON

JSON Formatter: التنسيق والتصغير والتحقق

التنسيق لسهولة القراءة، والتصغير لتقليل الحجم، والتحقق للتأكد من الصحة — ثلاث مهام مختلفة مع JSON.

JSONPath: كيف تبحث في بيانات JSON دون تحليل يدوي

كيف يتيح JSONPath استخراج القيم المطلوبة من JSON كبير بتعبير واحد بدلاً من التصفح اليدوي.

JSON Schema: كيف تصف وتتحقق من بنية JSON

كيف يتيح JSON Schema التحقق تلقائيًا مما إذا كانت البيانات تطابق العقد المتوقع.

JSON Flatten: تحويل بنية متداخلة إلى قائمة مسطحة

كيف يتحول JSON متداخل بعمق إلى قائمة مسطحة من المفاتيح مثل user.address.city.

JSON Sort Keys: لماذا نرتب مفاتيح الكائن

لماذا لا يُحدَّد ترتيب مفاتيح JSON رسميًا، لكن الترتيب يبقى مفيدًا عمليًا.

JSON Repair: لماذا يتعطّل JSON وكيف يُصلَح

الأسباب الشائعة لـ JSON «المعطّل» وما يمكن للإصلاح التلقائي تصحيحه وما لا يمكنه.

Mock JSON Generator: ما فائدة البيانات الوهمية

كيف تتيح البيانات الوهمية بدء بناء الواجهة قبل أن تكون الخلفية جاهزة.

JSON ↔ YAML/CSV/XML/TOML: متى ولماذا نحوّل

ما البيانات التي تُفقَد عند تحويل JSON إلى CSV، ولماذا يشيع YAML وTOML في ملفات الإعداد.