Bandingkan JSON / Diff + Patch

Bandingkan dua dokumen JSON secara semantik di browser Anda dan ubah diff menjadi patch.

Tanpa unggahan, tanpa bolak-balik ke server. Kurangi noise dengan mode banding yang peka array, aturan path, dan toleransi numerik.

Pemrosesan hanya di browser, tanpa unggah ke server
Mode peka-array mengurangi kebisingan tinjauan
Ekspor JSON Patch dan JSON Merge Patch
Semua tetap di sesi browser Anda. Tidak ada yang diunggah.

Alur kerja yang direkomendasikan

  1. Bersihkan atau urutkan JSON terlebih dahulu dengan Format JSON atau Pengurut Kunci JSON untuk mendapatkan input yang konsisten.
  2. Tempel atau unggah dokumen JSON kiri dan kanan, lalu jalankan Bandingkan.
  3. Pilih mode array, kunci pencocokan, toleransi, dan aturan path yang sesuai untuk peninjauan.
  4. Tinjau ringkasan, path yang berubah, pohon, dan output patch yang dapat diekspor.

Contoh

Contoh ini menunjukkan bagaimana array yang diurutkan ulang, perubahan timestamp, perbedaan floating-point yang kecil, dan satu item yang ditambahkan dapat dipersempit dengan kunci pencocokan, toleransi, dan aturan path.

Sebelum

Masukan
{
  "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
  }
}

Sesudah

Masukan
{
  "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
  }
}

Apa yang ditunjukkan contoh

Contoh ini menunjukkan bagaimana array yang diurutkan ulang, perubahan timestamp, perbedaan floating-point yang kecil, dan satu item yang ditambahkan dapat dipersempit dengan kunci pencocokan, toleransi, dan aturan path.

Cara membandingkan

  1. Tempel atau unggah dokumen JSON kiri dan kanan.
  2. Pilih ketat, abaikan urutan, multiset, atau cocokkan berdasarkan kunci, lalu tambahkan aturan path yang Anda butuhkan.
  3. Jalankan Bandingkan atau gunakan pintasan. Validasi terlebih dahulu jika Anda hanya ingin memeriksa penguraian.
  4. Salin atau unduh path yang berubah, patch, merge patch, atau laporan setelah selesai.

Yang bisa dilakukan

  • Bandingkan JSON secara semantik alih-alih baris demi baris.
  • Cocokkan item array berdasarkan kunci seperti id, sku, atau code.
  • Abaikan path, pilih path, atau terapkan aturan perbandingan per-path.
  • Gunakan toleransi numerik untuk meratakan perbedaan kecil floating-point.
  • Ekspor JSON Patch, JSON Merge Patch, path yang berubah, dan laporan Markdown.
  • Ciutkan node yang tidak berubah dan lompat langsung ke path yang relevan.

Aturan perbandingan dan keluaran

  • Pemrosesan berjalan sepenuhnya di browser. Tidak ada yang diunggah.
  • Mendukung mode array ketat (strict), abaikan urutan (ignore-order), multiset, dan cocokkan berdasarkan kunci (match-by-key).
  • Aturan path mendukung pengabaian, ketat, abaikan urutan, multiset, kunci pencocokan, dan toleransi.
  • Toleransi numerik hanya diterapkan pada angka.
  • Komentar dapat dihapus sebelum diurai jika diperlukan.
  • Input besar menggunakan perenderan ringkasan terlebih dahulu dan dapat menonaktifkan perbandingan otomatis.

FAQ

Bisakah saya membandingkan array objek berdasarkan kunci?

Ya. Gunakan Cocokkan berdasarkan kunci dan buat daftar kunci seperti id atau sku. Anda juga dapat mengganti aturan tersebut per path.

Bagaimana cara mengabaikan timestamp atau ID permintaan?

Tambahkan ke Abaikan path, atau gunakan aturan path jika Anda ingin pengecualian hanya berlaku pada satu subtree.

Bisakah saya mempertahankan urutan array untuk beberapa bagian dan mengabaikannya untuk bagian lain?

Ya. Gunakan aturan path untuk mengatur abaikan urutan, multiset, atau hanya mencocokkan kunci di bagian yang Anda butuhkan.

Apakah ini mendukung JSON dengan komentar?

JSON standar tidak mengizinkan komentar. Aktifkan Hapus komentar sebelum mengurai hanya ketika Anda perlu menerima input bergaya JSONC.

Apakah ada data yang diunggah ke server?

Tidak. Perbandingan, normalisasi, dan ekspor semuanya terjadi secara lokal di browser Anda.

Apa saja yang bisa saya ekspor?

JSON Patch, JSON Merge Patch, path yang berubah, dan laporan Markdown.