DevToys Web Pro iconDevToys Web ProBlog
Đánh giá chúng tôi:
Dùng thử tiện ích mở rộng trình duyệt:

Trình xem so sánh JSON

Giống hệt
  • JSON bên trái

  • JSON bên phải

  • Kết quả so sánh

    Không có khác biệt — hai tài liệu JSON giống hệt nhau.
    Chi tiết kỹ thuật

    Cách Công cụ JSON Diff Hoạt động

    Công cụ làm gì

    Công cụ JSON Diff thực hiện so sánh cấu trúc sâu giữa hai tài liệu JSON, xác định các khóa được thêm, bị xóa và bị sửa ở mọi mức lồng nhau. Kết quả được hiển thị với tô sáng theo màu cho biết chính xác phần nào đã thay đổi, bao gồm khác biệt trong object và array lồng nhau. Điều này cung cấp một bản diff theo ngữ nghĩa, hiểu cấu trúc JSON thay vì so sánh các dòng văn bản thô.

    Các trường hợp sử dụng phổ biến cho lập trình viên

    Lập trình viên dùng JSON diff để so sánh phản hồi API trước và sau khi thay đổi mã, xác minh cập nhật tệp cấu hình chỉ chứa các chỉnh sửa dự kiến, và gỡ lỗi khác biệt giữa các thiết lập theo môi trường (staging vs production). Nó rất cần thiết khi review đầu ra Terraform plan, so sánh các phiên bản schema OpenAPI, và kiểm tra rằng các script migration cơ sở dữ liệu tạo ra thay đổi schema như mong đợi trong các bản xuất JSON.

    Định dạng dữ liệu, kiểu hoặc biến thể

    Công cụ thực hiện so sánh cấu trúc trong đó thứ tự khóa của object không ảnh hưởng đến tính bằng nhau (vì object JSON theo đặc tả là không có thứ tự), nhưng thứ tự phần tử của array là quan trọng. Thay đổi kiểu (chuỗi '1' vs số 1) được báo cáo là sửa đổi. Giá trị null được phân biệt với khóa bị thiếu. Các khác biệt lồng sâu được báo cáo kèm theo đường dẫn JSON đầy đủ để bạn có thể định vị thay đổi trong tài liệu phức tạp mà không cần tự mở rộng từng mức.

    Các lỗi thường gặp và trường hợp biên

    Diff của array có thể gây nhiễu khi phần tử được chèn hoặc xóa ở giữa, khiến mọi chỉ số phía sau đều hiển thị như đã thay đổi. Số dấu phẩy động có thể khác nhau do độ chính xác khi serialize (1.0 vs 1.00000000001) mà không phản ánh thay đổi có ý nghĩa. Tài liệu JSON rất lớn với hàng nghìn khóa ở một mức có thể tạo ra đầu ra diff quá tải — hãy cân nhắc so sánh từng phần nhỏ riêng lẻ. Comment không phải JSON hợp lệ, vì vậy các tệp cấu hình có comment phải được loại bỏ comment trước khi so sánh.

    Khi nào nên dùng công cụ này thay vì viết mã

    Dùng công cụ trên trình duyệt này để so sánh trực quan nhanh hai payload JSON trong quá trình gỡ lỗi hoặc review mã. Với kiểm thử hồi quy tự động, pipeline CI, hoặc tạo diff theo chương trình, hãy dùng các thư viện như json-diff (npm), deepdiff (Python), hoặc so sánh dựa trên jq có thể tích hợp vào bộ test và tạo đầu ra patch dạng máy đọc được (định dạng RFC 6902 JSON Patch).