Diff dan Patch JSON

Tempel dua dokumen JSON. Halaman mendaftar setiap nilai yang ditambahkan, dihapus atau diubah beserta jalurnya, dan menulis JSON Patch RFC 6902 yang mengubah dokumen kiri menjadi kanan.

Gratis Berjalan di peramban Anda Diperiksa Selasa, 10 November 2026

Dokumen pertama, biasanya versi lama. Nilainya adalah 'sebelum' dari setiap perubahan.

Dokumen kedua, biasanya versi baru. Nilainya adalah 'sesudah' dari setiap perubahan.

Membandingkan larik sebagai kumpulan, sehingga item yang hanya berpindah tidak dihitung sebagai perubahan.

Hasil

Jumlah perbedaan — Nilai yang ditambahkan, dihapus dan diubah digabung.
Validitas — Apakah kedua teks merupakan JSON yang valid, atau mana yang tidak.
Ringkasan —
Pemeriksaan patch — Menerapkan patch ke dokumen kiri di peramban dan membandingkan hasilnya dengan dokumen kanan.
JSON Patch (RFC 6902)
Perbedaan

Alat ini berjalan di peramban Anda. Apa yang Anda masukkan tidak dikirim kepada kami.

Cara memakai

  1. Tempel JSON lama ke JSON kiri dan JSON baru ke JSON kanan.
  2. Centang Abaikan urutan item larik jika larik merupakan himpunan, seperti daftar tag.
  3. Baca tabel Perbedaan. Setiap baris memberi Jalur (JSON Pointer) nilainya, dan salin JSON Patch ketika Pemeriksaan patch menyatakan bahwa patch itu berlaku.

Cara dokumen dibandingkan

Kedua dokumen dibandingkan berdasarkan nilai. Urutan nama dalam objek tidak penting, karena JSON mendefinisikan objek sebagai himpunan anggota. Urutan item dalam larik penting, kecuali Anda mencentang opsi itu, karena larik adalah daftar berurutan.

Angka dibandingkan sebagai angka, sehingga 1 dan 1.0 sama. RFC 8259 bagian 6 menyatakan bahwa bilangan bulat dari -(2^53)+1 sampai (2^53)-1 dibaca sama oleh setiap implementasi, dan bilangan bulat yang lebih panjang dapat dibulatkan saat dibaca.

Jalur dan patch

Jalur adalah JSON Pointer (RFC 6901): setiap langkah berupa nama atau indeks, dipisahkan garis miring. Item pertama dari daftar tag adalah /tags/0, dan jalur kosong adalah seluruh dokumen. Garis miring di dalam nama ditulis ~1, dan tilde ditulis ~0.

JSON Patch (RFC 6902) memakai tiga operasi: add, remove dan replace. Item larik yang dihapus diambil dari yang terakhir ke belakang, sehingga setiap indeks tetap benar saat dipakai, dan item yang ditambahkan dilampirkan dengan indeks "-", yang oleh RFC 6902 didefinisikan sebagai akhir larik.

Mengabaikan urutan larik

Dengan opsi tercentang, item dicocokkan berdasarkan nilainya, di mana pun posisinya. Item yang tidak punya pasangan dilaporkan sebagai ditambahkan atau dihapus. Larik yang berbeda diganti seluruhnya di dalam patch, karena patch yang hanya memindahkan item perlu tahu bagaimana mereka berpindah. Patch lalu memberikan larik dengan urutan dokumen kanan.

Contoh: dokumen bawaan

Dokumen kiri memiliki nama FireToolLand, versi 1, tag json dan csv, serta free bernilai true. Dokumen kanan memiliki versi 2, tag csv, json dan yaml, serta license bernilai null. Dibaca berurutan, perbedaannya ada enam: version, dua tag yang diubah, tag yaml yang ditambahkan, free yang dihapus, dan license yang ditambahkan.

Dengan Abaikan urutan item larik tercentang, tag adalah dua item yang sama dalam urutan lain, sehingga satu-satunya perbedaan tag adalah yaml, dan jumlahnya turun menjadi empat.

Hasil Teks bawaan Urutan diabaikan
Jumlah perbedaan 6 4
Ringkasan 2 ditambahkan, 1 dihapus, 3 diubah. 2 ditambahkan, 1 dihapus, 1 diubah.

Pertanyaan yang sering diajukan

Mengapa urutan item larik penting?

Dalam JSON larik adalah daftar berurutan, sehingga [1,2] dan [2,1] adalah data yang berbeda. Centang Abaikan urutan item larik ketika larik itu himpunan, seperti daftar tag atau izin.

Apa arti jalur seperti /tags/0?

Itu adalah JSON Pointer (RFC 6901): anggota tags, lalu item pertamanya, karena indeks dihitung dari 0. Jalur kosong berarti seluruh dokumen, dan nama yang berisi garis miring ditulis dengan ~1 sebagai gantinya.

Apakah 1 dan 1.0 nilai yang sama?

Ya. Keduanya adalah angka satu, sehingga halaman tidak melaporkan perbedaan. Bilangan bulat di atas 2^53 dapat dibulatkan oleh pengurai JSON, jadi bandingkan pengenal panjang sebagai teks.

Untuk apa JSON Patch dipakai?

Ia adalah daftar langkah (RFC 6902) yang diterapkan server atau pustaka pada satu dokumen untuk mendapatkan dokumen lain, misalnya untuk memperbarui berkas pengaturan yang tersimpan. Pemeriksaan patch menunjukkan bahwa langkah-langkah itu menghasilkan dokumen yang benar.

Mengapa seluruh larik diganti ketika urutan diabaikan?

Dengan urutan diabaikan, larik yang berubah tidak punya satu langkah tunggal yang mengubahnya menjadi larik yang benar tanpa tahu bagaimana item-itemnya berpindah. Karena itu patch menulis larik yang benar secara lengkap.

Apakah JSON saya dikirim ke suatu tempat?

Tidak. Kedua teks dibaca dan dibandingkan di peramban Anda, dan tidak ada yang Anda tempel yang dikirim ke server kami atau disimpan di sana.

Sumber

Angka dan teks terakhir diperiksa pada Selasa, 10 November 2026.

Kami memakai cookie yang diperlukan agar situs berjalan. Dengan persetujuan Anda, Google juga memakai cookie iklan untuk menampilkan iklan yang dipersonalisasi. Jika Anda menolaknya, iklan tetap tampil, tetapi tidak dipersonalisasi.