So sánh / Diff JSON + Patch

So sánh hai tài liệu JSON theo ngữ nghĩa ngay trong trình duyệt và biến diff thành patch.

Không tải lên, không vòng qua máy chủ. Giảm nhiễu bằng các chế độ so sánh nhận biết mảng, quy tắc theo đường dẫn và sai số số học.

Xử lý chỉ trong trình duyệt, không tải lên máy chủ
Các chế độ nhận biết mảng giúp giảm nhiễu khi rà soát
Xuất JSON Patch và JSON Merge Patch
Mọi thứ vẫn ở lại trong phiên trình duyệt của bạn. Không có gì được tải lên.

Quy trình khuyến nghị

  1. Làm sạch hoặc sắp xếp JSON trước bằng JSON Formatter hoặc JSON Key Sort khi bạn muốn đầu vào đồng nhất.
  2. Dán hoặc tải lên tài liệu JSON bên trái và bên phải, rồi chạy So sánh.
  3. Chọn chế độ mảng, khóa khớp, sai số và quy tắc đường dẫn phù hợp với việc rà soát.
  4. Rà soát phần tóm tắt, các đường dẫn đã thay đổi, cây và đầu ra patch có thể xuất.

Ví dụ

Mẫu này cho thấy cách các mảng được sắp xếp lại, thay đổi dấu thời gian, sai khác số học rất nhỏ và một mục được thêm có thể được thu hẹp bằng khóa khớp, sai số và quy tắc đường dẫn.

Trước

Đầu vào
{
  "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
  }
}

Sau

Đầu vào
{
  "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
  }
}

Mẫu minh họa điều gì

Mẫu này cho thấy cách các mảng được sắp xếp lại, thay đổi dấu thời gian, sai khác số học rất nhỏ và một mục được thêm có thể được thu hẹp bằng khóa khớp, sai số và quy tắc đường dẫn.

Cách so sánh

  1. Dán hoặc tải lên tài liệu JSON bên trái và bên phải.
  2. Chọn chế độ mảng, khóa khớp, sai số và quy tắc đường dẫn cần dùng.
  3. Chạy So sánh hoặc dùng phím tắt. Kiểm tra trước nếu bạn chỉ muốn xác nhận phân tích.
  4. Sao chép hoặc tải xuống các đường dẫn đã thay đổi, patch, merge patch hay báo cáo khi xong.

Bạn có thể làm gì

  • So sánh JSON theo ngữ nghĩa thay vì theo từng dòng.
  • Khớp các phần tử mảng theo một hay nhiều khóa như id, sku hoặc code.
  • Bỏ qua đường dẫn, chọn đường dẫn hoặc áp dụng quy tắc so sánh riêng cho từng đường dẫn.
  • Dùng sai số số học để làm dịu các khác biệt dấu chấm động rất nhỏ.
  • Xuất JSON Patch, JSON Merge Patch, các đường dẫn đã thay đổi và báo cáo Markdown.
  • Thu gọn các nút không đổi và nhảy thẳng tới đường dẫn liên quan.

Quy tắc so sánh và đầu ra

  • Việc xử lý diễn ra hoàn toàn trong trình duyệt. Không có gì được tải lên.
  • Hỗ trợ các chế độ mảng strict, ignore-order, multiset và match-by-key.
  • Quy tắc theo đường dẫn hỗ trợ ignore, strict, ignore-order, multiset, match-keys và tolerance.
  • Sai số số học chỉ áp dụng cho số.
  • Có thể loại bỏ comment trước khi phân tích khi cần.
  • Đầu vào lớn sẽ dùng hiển thị ưu tiên phần tóm tắt và có thể tắt tự động so sánh.

Câu hỏi thường gặp

Tôi có thể so sánh mảng object theo khóa không?

Có. Hãy dùng Khớp theo khóa và liệt kê các khóa như id hoặc sku. Bạn cũng có thể ghi đè quy tắc cho từng đường dẫn.

Làm sao để bỏ qua dấu thời gian hoặc request ID?

Thêm chúng vào Đường dẫn bỏ qua, hoặc dùng quy tắc theo đường dẫn khi bạn chỉ muốn ngoại lệ đó áp dụng cho một nhánh.

Có thể giữ thứ tự mảng ở một số phần và bỏ qua ở phần khác không?

Có. Hãy dùng quy tắc theo đường dẫn để đặt ignore-order, multiset hoặc match-keys ở nơi bạn cần.

Có hỗ trợ JSON có comment không?

JSON chuẩn không cho phép comment. Chỉ bật Loại bỏ comment trước khi phân tích khi bạn thật sự cần chấp nhận đầu vào kiểu JSONC.

Có thứ gì được tải lên máy chủ không?

Không. Việc so sánh, chuẩn hóa và xuất đều diễn ra cục bộ trong trình duyệt của bạn.

Tôi có thể xuất những gì?

JSON Patch, JSON Merge Patch, các đường dẫn đã thay đổi và báo cáo Markdown.