เปรียบเทียบ JSON / Diff + Patch

เปรียบเทียบเอกสาร JSON สองชุดตามความหมายในเบราว์เซอร์ และเปลี่ยน diff เป็น patch

ไม่อัปโหลด ไม่ส่งข้อมูลไปกลับเซิร์ฟเวอร์ ลด noise ด้วยโหมดเปรียบเทียบอาร์เรย์ กฎพาธ และค่าคลาดเคลื่อนตัวเลข

ประมวลผลในเบราว์เซอร์เท่านั้น ไม่มีการอัปโหลดไปยังเซิร์ฟเวอร์
โหมดที่เข้าใจอาร์เรย์ช่วยลด noise ในการรีวิว
ส่งออก JSON Patch และ JSON Merge Patch
ทุกอย่างอยู่ใน session เบราว์เซอร์ของคุณ ไม่มีการอัปโหลด

เวิร์กโฟลว์ที่แนะนำ

  1. ทำความสะอาดหรือเรียง JSON ก่อนด้วย JSON Formatter หรือ JSON Key Sorter เมื่อต้องการอินพุตที่สม่ำเสมอ
  2. วางหรืออัปโหลดเอกสาร JSON ฝั่งซ้ายและขวา แล้วรัน Compare
  3. เลือกโหมดอาร์เรย์ คีย์จับคู่ ค่าคลาดเคลื่อน และกฎพาธที่เหมาะกับการรีวิว
  4. ตรวจสรุป พาธที่เปลี่ยน tree และเอาต์พุต patch ที่ส่งออกได้

ตัวอย่าง

ตัวอย่างนี้แสดงวิธีลดขอบเขตความต่างจากอาร์เรย์ที่เรียงใหม่ timestamp ที่เปลี่ยน ความต่างทศนิยมเล็กน้อย และรายการที่เพิ่มหนึ่งรายการ ด้วยคีย์จับคู่ ค่าคลาดเคลื่อน และกฎพาธ

ก่อน

อินพุต
{
  "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
  }
}

สิ่งที่ตัวอย่างแสดง

ตัวอย่างนี้แสดงวิธีลดขอบเขตความต่างจากอาร์เรย์ที่เรียงใหม่ timestamp ที่เปลี่ยน ความต่างทศนิยมเล็กน้อย และรายการที่เพิ่มหนึ่งรายการ ด้วยคีย์จับคู่ ค่าคลาดเคลื่อน และกฎพาธ

วิธีเปรียบเทียบ

  1. วางหรืออัปโหลดเอกสาร JSON ฝั่งซ้ายและขวา
  2. เลือก strict, ignore order, multiset หรือ match by key(s) แล้วเพิ่มกฎพาธที่ต้องการ
  3. รัน Compare หรือใช้ shortcut ตรวจสอบก่อนหากต้องการเช็คการ parse เท่านั้น
  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
  • ค่าคลาดเคลื่อนตัวเลขใช้กับตัวเลขเท่านั้น
  • สามารถตัดคอมเมนต์ก่อน parse ได้เมื่อจำเป็น
  • อินพุตขนาดใหญ่ใช้การแสดงผลแบบสรุปก่อน และอาจปิด auto-compare

FAQ

เปรียบเทียบอาร์เรย์ของออบเจ็กต์ด้วยคีย์ได้ไหม?

ได้ ใช้ Match by key(s) แล้วระบุคีย์ เช่น id หรือ sku และยังสามารถกำหนดกฎเฉพาะพาธได้

จะละเว้น timestamp หรือ request ID ได้อย่างไร?

เพิ่มลงใน Ignore paths หรือใช้กฎพาธเมื่อต้องการให้ข้อยกเว้นใช้เฉพาะ subtree หนึ่ง

คงลำดับอาร์เรย์บางส่วนและละเว้นลำดับบางส่วนได้ไหม?

ได้ ใช้กฎพาธเพื่อตั้ง ignore-order, multiset หรือ match-keys เฉพาะจุดที่ต้องการ

รองรับ JSON ที่มีคอมเมนต์ไหม?

JSON มาตรฐานไม่อนุญาตให้มีคอมเมนต์ เปิด Strip comments before parse เฉพาะเมื่อจำเป็นต้องรับอินพุตแบบ JSONC

มีอะไรถูกอัปโหลดไปยังเซิร์ฟเวอร์ไหม?

ไม่ การเปรียบเทียบ การ normalize และการส่งออกทั้งหมดทำงานในเบราว์เซอร์ของคุณ

ส่งออกอะไรได้บ้าง?

JSON Patch, JSON Merge Patch, พาธที่เปลี่ยน และรายงาน Markdown