مقارنة JSON / Diff + Patch

قارن مستندي JSON دلاليًا في متصفحك وحوّل الفروق إلى patch.

لا يوجد رفع ولا تبادل مع الخادم. قلّل الضوضاء بأوضاع مقارنة تراعي المصفوفات وقواعد المسار والهامش العددي.

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

سير العمل الموصى به

  1. Clean or sort the JSON first with JSON Formatter or JSON Key Sorter when you want consistent input.
  2. الصق أو ارفع مستندي JSON الأيسر والأيمن، ثم شغّل Compare.
  3. اختر وضع المصفوفة ومفاتيح المطابقة والهامش وقواعد المسار المناسبة للمراجعة.
  4. راجع الملخص والمسارات المتغيرة والشجرة ومخرجات patch القابلة للتصدير.

نموذج

This sample shows how reordered arrays, timestamp changes, tiny floating-point differences, and one added item can be narrowed down with match keys, tolerance, and path rules.

قبل

الإدخال
{
  "orderId": "A-1001",
  "updatedAt": "2026-04-16T08:00:00Z",
  "customer": {
    "name": "Acme Corp",
    "tags": ["vip", "beta"]
  },
  "items": [
    {
      "sku": "A-1",
      "qty": 2,
      "price": 10
    },
    {
      "sku": "B-2",
      "qty": 1,
      "price": 4.5
    }
  ],
  "summary": {
    "currency": "USD",
    "total": 24.5
  }
}

بعد

الإدخال
{
  "orderId": "A-1001",
  "updatedAt": "2026-04-16T08:05:00Z",
  "customer": {
    "name": "Acme Corporation",
    "tags": ["beta", "vip"]
  },
  "items": [
    {
      "sku": "B-2",
      "qty": 1,
      "price": 4.5
    },
    {
      "sku": "A-1",
      "qty": 2,
      "price": 10.0001
    },
    {
      "sku": "C-3",
      "qty": 1,
      "price": 7
    }
  ],
  "summary": {
    "currency": "USD",
    "total": 24.5001
  }
}

ما الذي يوضحه النموذج

This sample shows how reordered arrays, timestamp changes, tiny floating-point differences, and one added item can be narrowed down with match keys, tolerance, and path rules.

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

  1. الصق مستندي JSON الأيسر والأيمن أو ارفعهما.
  2. اختر strict أو ignore order أو multiset أو المطابقة حسب المفتاح/المفاتيح، ثم أضف قواعد المسار التي تحتاجها.
  3. شغّل Compare أو استخدم الاختصار. استخدم Validate أولًا إذا كنت تريد فقط التحقق من التحليل.
  4. انسخ أو نزّل المسارات المتغيرة أو patch أو merge patch أو التقرير عند الانتهاء.

ما يمكنك فعله

  • قارن JSON دلاليًا بدلًا من المقارنة سطرًا بسطر.
  • طابق عناصر المصفوفة باستخدام مفتاح أو أكثر مثل id أو sku أو code.
  • تجاهل المسارات أو حدّد المسارات أو طبّق قواعد مقارنة حسب المسار.
  • استخدم هامشًا عدديًا لتجاوز الفروق العشرية الصغيرة جدًا.
  • صدّر JSON Patch وJSON Merge Patch والمسارات المتغيرة وتقريرًا بصيغة Markdown.
  • اطوِ العقد غير المتغيرة وانتقل مباشرةً إلى المسار المعني.

قواعد المقارنة والمخرجات

  • تتم المعالجة بالكامل في المتصفح. لا يتم رفع أي شيء.
  • تُدعم أوضاع المصفوفة: strict وignore-order وmultiset وmatch-by-key.
  • تدعم قواعد المسار: ignore وstrict وignore-order وmultiset وmatch-keys وtolerance.
  • يُطبَّق الهامش العددي على الأرقام فقط.
  • يمكن إزالة التعليقات قبل التحليل عند الحاجة.
  • تستخدم المدخلات الكبيرة عرضًا يبدأ بالملخص ويمكنها تعطيل المقارنة التلقائية.

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

هل يمكنني مقارنة مصفوفات الكائنات حسب المفتاح؟

نعم. استخدم المطابقة حسب المفتاح أو المفاتيح وسرد مفاتيح مثل id أو sku. ويمكنك أيضًا تجاوز القاعدة لكل مسار.

كيف أتجاهل الطوابع الزمنية أو معرّفات الطلب؟

أضفها إلى المسارات المتجاهلة، أو استخدم قاعدة مسار عندما تريد أن ينطبق الاستثناء على شجرة فرعية واحدة فقط.

هل يمكنني الحفاظ على ترتيب المصفوفة في بعض الأجزاء وتجاهله في أجزاء أخرى؟

نعم. استخدم قواعد المسار لتعيين ignore-order أو multiset أو match-keys فقط حيث تحتاج إليها.

هل يدعم JSON مع التعليقات؟

JSON القياسي لا يسمح بالتعليقات. فعّل إزالة التعليقات قبل التحليل فقط عندما تحتاج إلى قبول إدخال بصيغة JSONC.

هل يتم رفع أي شيء إلى خادم؟

لا. تتم المقارنة والتطبيع والتصدير كلها محليًا في متصفحك.

ما الذي يمكنني تصديره؟

JSON Patch وJSON Merge Patch والمسارات المتغيرة وتقرير Markdown.