JSON Diff Online
Bạn có hai phiên bản JSON — một cái từ môi trường staging, một cái từ production — và nghi ngờ chúng đang khác nhau ở đâu đó gây ra bug. Nhìn bằng mắt? Với JSON vài trăm dòng thì chúc may mắn. Dùng tool này? Chưa đến 5 giây là thấy ngay chỗ khác biệt, được tô màu rõ ràng từng dòng.
JSON Diff là tool so sánh hai đoạn JSON và hiển thị chính xác những gì đã thay đổi — key nào bị thêm, key nào bị xoá, giá trị nào bị sửa. Không cần cài đặt, không cần viết script, chạy thẳng trên trình duyệt.
JSON diff là gì?
"Diff" là thuật ngữ trong lập trình chỉ quá trình so sánh hai phiên bản dữ liệu và liệt kê sự khác biệt — tương tự như tính năng "Track Changes" trong Word hay "Compare" trong Git. Với JSON, diff đặc biệt hữu ích vì JSON có cấu trúc phân cấp (nested), khó so sánh thủ công hơn văn bản thuần.
Tool sẽ phân tích cả hai JSON theo từng key, từng giá trị, từng tầng lồng nhau — sau đó tô màu để bạn thấy ngay:
- Màu xanh lá: Nội dung được thêm vào (chỉ có ở JSON bên phải)
- Màu đỏ: Nội dung bị xoá (chỉ có ở JSON bên trái)
- Màu vàng/cam: Nội dung bị sửa đổi (key giống nhau, giá trị khác)
Cách sử dụng
- Bước 1: Dán JSON gốc (phiên bản cũ / bên trái) vào ô nhập liệu thứ nhất.
- Bước 2: Dán JSON mới (phiên bản mới / bên phải) vào ô nhập liệu thứ hai.
- Bước 3: Nhấn Compare — kết quả diff hiện ra ngay với màu sắc phân biệt rõ ràng.
- Bước 4: Đọc kết quả: xem key nào thêm, key nào mất, giá trị nào thay đổi.
Tool tự động validate cả hai JSON trước khi so sánh — nếu một trong hai bị lỗi cú pháp, bạn sẽ được thông báo ngay để sửa trước.
Ví dụ thực tế
Giả sử bạn có config API trước và sau khi cập nhật:
| JSON cũ (trái) | JSON mới (phải) |
|---|---|
{ "version": "1.0", "debug": true, "timeout": 30, "db": "mysql" } | { "version": "2.0", "debug": false, "timeout": 30, "db": "mysql", "cache": true } |
Kết quả diff sẽ hiển thị:
- 🟡
version:"1.0"→"2.0"(giá trị thay đổi) - 🟡
debug:true→false(giá trị thay đổi) - ⚪
timeout:30(không đổi) - ⚪
db:"mysql"(không đổi) - 🟢
cache:true(mới thêm vào)
Khi nào bạn cần JSON diff?
| Tình huống | Mô tả |
|---|---|
| So sánh API response | Kiểm tra response từ hai môi trường (dev/staging/prod) có khác nhau không để phát hiện bug |
| Review config thay đổi | Xem file cấu hình (appsettings.json, docker-compose, package.json…) đã thay đổi những gì so với phiên bản trước |
| Debug dữ liệu bất ngờ | So sánh dữ liệu trước/sau khi qua một bước xử lý để tìm chỗ dữ liệu bị biến đổi không mong muốn |
| Kiểm tra migration | Xác nhận dữ liệu sau khi migrate database hoặc transform pipeline giữ nguyên các field quan trọng |
| Code review | Xem lock file (package-lock.json, yarn.lock) thay đổi những package nào khi review pull request |
| Test API contract | Đảm bảo schema response của API không bị thay đổi bất ngờ (breaking change) sau khi deploy |
Mẹo dùng hiệu quả
- Format trước khi diff: Nếu hai JSON đang ở dạng minified (một dòng), hãy format chúng trước bằng JSON Formatter — kết quả diff sẽ dễ đọc hơn nhiều.
- Chú ý thứ tự key trong object: JSON object về mặt kỹ thuật không có thứ tự, nên
{"a":1,"b":2}và{"b":2,"a":1}về nghĩa là giống nhau. Tool sẽ so sánh theo key, không theo thứ tự xuất hiện. - Array thì khác: JSON array có thứ tự —
[1,2,3]và[3,2,1]là khác nhau. Tool sẽ báo diff nếu thứ tự phần tử thay đổi. - Kiểu dữ liệu cũng được so sánh:
"30"(string) và30(number) là khác nhau trong JSON — tool sẽ phát hiện và đánh dấu đây là thay đổi kiểu dữ liệu.
Kết luận
Trong quy trình phát triển phần mềm hiện đại, việc so sánh JSON xuất hiện thường xuyên hơn bạn nghĩ — từ debug API, review config, kiểm tra migration đến đảm bảo tính nhất quán dữ liệu giữa các môi trường. Có sẵn một tool làm việc này chính xác và nhanh chóng tiết kiệm không ít thời gian mỗi ngày.
Xem thêm các tool liên quan: JSON Formatter & Validator để làm đẹp và kiểm tra lỗi JSON, hoặc khám phá toàn bộ bộ công cụ tại codetuthub.com/tools.