So sánh JSON (JSON Diff)

So sánh hai tài liệu JSON theo cấu trúc: xem giá trị được thêm, xóa và thay đổi theo JSONPath, bỏ qua thứ tự khóa và định dạng. Miễn phí, chạy trong trình duyệt.

Khác biệt

+ thêm, - xóa, ~ thay đổi. Đối tượng được so sánh theo khóa (bỏ qua thứ tự khóa), mảng theo chỉ số; 1 và 1.0 được coi là bằng nhau.

Chạy hoàn toàn trong trình duyệt. Dữ liệu của bạn không bao giờ bị tải lên.

Công cụ Liên quan

Xem Tất cả

So sánh JSON là gì?

JSON Diff so sánh hai tài liệu JSON theo cấu trúc thay vì theo văn bản. Công cụ liệt kê mọi giá trị được thêm, bị xóa hoặc thay đổi kèm JSONPath của nó, nên khác biệt về khoảng trắng, định dạng hay thứ tự khóa đều được bỏ qua.

Cách sử dụng So sánh JSON

  1. Dán tài liệu thứ nhất vào JSON gốc.
  2. Dán tài liệu thứ hai vào JSON đã sửa.
  3. Đọc phần tóm tắt và danh sách khác biệt (cập nhật khi bạn gõ).
  4. Sao chép danh sách khác biệt bằng Sao chép.

Ví dụ

Đầu vào
Original: {"a":1,"b":2,"arr":[1,2]}
Modified: {"a":1.0,"c":3,"arr":[1]}
Đầu ra
- $.b: 2
- $.arr[1]: 2
+ $.c: 3

Tóm tắt: Thêm: 1 · Xóa: 2 · Thay đổi: 0. 1 và 1.0 được coi là bằng nhau.

Khi nào nên dùng So sánh JSON

Dùng để so sánh phản hồi API giữa các môi trường, các phiên bản cấu hình hoặc snapshot kiểm thử. Với mảng mà thứ tự không quan trọng, hoặc khi cần xem thay đổi văn bản theo từng dòng, công cụ so sánh văn bản có thể phù hợp hơn.

So sánh JSON hoạt động như thế nào

Cả hai đầu vào được phân tích bằng parser JSON chặt chẽ và được duyệt song song. Object được so sánh theo từng khóa bất kể thứ tự; khóa chỉ có trong bản gốc là xóa (-), khóa chỉ có trong bản đã sửa là thêm (+). Mảng được so sánh theo từng vị trí, nên chèn một phần tử vào đầu sẽ khiến mọi phần tử phía sau bị coi là thay đổi. Giá trị vô hướng khác kiểu hoặc khác giá trị là thay đổi (~ old → new); số được so sánh theo giá trị, nên 1 và 1.0 bằng nhau, còn số nguyên lớn được so sánh chính xác.

Các Trường Hợp Sử Dụng Phổ Biến

  • So sánh phản hồi API giữa staging và production
  • Xem lại thay đổi giữa hai phiên bản cấu hình
  • Kiểm tra điều gì đã thay đổi trong snapshot kiểm thử
  • Xác minh việc chuyển đổi dữ liệu

Lưu Ý Bảo Mật

Mọi thứ chạy cục bộ trong trình duyệt của bạn; đoạn mã bạn dán vào không được tải lên đâu cả.

Câu Hỏi Thường Gặp

Thứ tự khóa có quan trọng không?

Không, object được so sánh theo khóa.

Mảng được so sánh thế nào?

Theo chỉ số. Di chuyển phần tử sẽ làm thay đổi vị trí được đem ra so sánh.

1 có bằng 1.0 không?

Có, số được so sánh theo giá trị.

Bước tiếp theo nên làm

Khám phá thêm danh mục