Chuyển đến nội dung
ToolMug

So sánh JSON

Xem chính xác điều gì đã thay đổi giữa hai phiên bản của một tệp cấu hình JSON, phản hồi API hoặc tệp dữ liệu. Các khác biệt được liệt kê theo đường dẫn, ví dụ $.users[2].email, nên việc đổi thứ tự khóa hay định dạng lại không bị tính là thay đổi.

Chạy trong trình duyệt — không có dữ liệu nào bạn nhập bị tải lên

Dán JSON vào cả hai bên để so sánh.

Cách sử dụng

  1. Dán JSON gốc vào bên trái và JSON đã sửa vào bên phải.
  2. Chọn có tính thứ tự mảng hay không.
  3. Đọc danh sách giá trị được thêm (+), xóa (−) và thay đổi (~), hoặc sao chép thành báo cáo.

Giải thích tùy chọn

So sánh theo vị trí
Các phần tử trong mảng được so sánh lần lượt theo vị trí. Vì vậy chèn thêm một phần tử ở đầu sẽ làm thay đổi mọi vị trí phía sau.
Bỏ qua thứ tự
Mảng được xem như tập hợp không có thứ tự; chỉ những phần tử có ở một bên mà không có ở bên kia mới được báo. Hữu ích cho danh sách ID, thẻ tag hoặc bản ghi.
Đường dẫn
Đường dẫn dùng ký hiệu JSONPath: $ là gốc, .key là một thuộc tính, [0] là một phần tử trong mảng và ["a b"] là khóa không phải tên thông thường.

Ví dụ

Lấy hai tài liệu này, trong đó các khóa nằm ở thứ tự khác nhau và một số giá trị khác nhau:

{"name": "Ada", "age": 36, "tags": ["x", "y"], "address": {"city": "Rome"}, "first name": "A"}
{"age": 37, "name": "Ada", "tags": ["y", "x"], "address": {"city": "Rome", "zip": "00100"}, "first name": "B", "role": "admin"}

So sánh theo vị trí, kết quả là:

Thay đổi Đường dẫn Trước Sau
~ $.age 36 37
~ $.tags[0] “x” “y”
~ $.tags[1] “y” “x”
+ $.address.zip “00100”
~ $["first name"] “A” “B”
+ $.role “admin”

Khi bật Bỏ qua thứ tự, hai thay đổi của tags biến mất, vì cả hai mảng chứa cùng hai giá trị. Thứ tự khóa không có ảnh hưởng ở cả hai chế độ. Giá trị đổi kiểu, chẳng hạn một số trở thành chuỗi hoặc một đối tượng trở thành mảng, được báo cáo là một thay đổi tại đường dẫn của chính nó.

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

Công cụ này khác gì so với so sánh văn bản thông thường?

So sánh văn bản so khớp theo từng dòng, nên định dạng và thứ tự khóa khác nhau cũng bị tính là thay đổi. So sánh JSON phân tích cả hai bên và so sánh chính dữ liệu.

Số 1 và chuỗi "1" có được coi là bằng nhau không?

Không. Một số và một chuỗi là hai kiểu giá trị JSON khác nhau, nên sự khác biệt vẫn được báo cùng với cả hai giá trị.

Dữ liệu của tôi có bị tải lên không?

Không. Cả hai tài liệu được so sánh ngay trong trình duyệt của bạn.

Quyền riêng tư

Công cụ này chạy hoàn toàn trong trình duyệt của bạn. Tệp và văn bản được xử lý ngay trên thiết bị và không bao giờ được tải lên máy chủ của chúng tôi.

Công cụ liên quan