Bandingkan nilai JSON, bukan tata letaknya
Tempel JSON asal di sebelah kiri dan versi baru di sebelah kanan. Alat menguraikan kedua dokumen lalu membandingkan struktur datanya. Spasi, lekukan, dan perbedaan urutan kunci objek tidak menghasilkan selisih palsu karena hal tersebut hanya mengubah tampilan. Nilai yang berubah, kunci yang ditambahkan, atau kunci yang dihapus akan muncul. Cara ini berguna ketika dua respons API terlihat berbeda di layar, tetapi Anda ingin mengetahui apakah datanya sungguh berubah. Kedua teks diproses di browser selama perbandingan.
Array JSON merupakan daftar yang terurut sehingga anggotanya dibandingkan berdasarkan indeks. Memindahkan suatu nilai dapat memunculkan beberapa selisih. Ini disengaja ketika urutan melambangkan tahapan atau peringkat hasil. Jika setiap catatan memiliki ID tetap dan urutannya tidak penting, sejajarkan atau urutkan catatan terlebih dahulu menurut aturan yang sesuai dengan bidang Anda. Jangan langsung menganggap semua pergeseran indeks sebagai suntingan yang berdiri sendiri.
Baca jalur setiap perbedaan
Setiap selisih diberi jalur yang menyerupai JSON Pointer. Kunci nama pada tingkat teratas menjadi /nama; anggota kedua dalam peran menjadi /peran/1. Keluaran membedakan nilai yang ditambahkan, dihapus, dan diubah. Karakter khusus dalam kunci ditulis dengan pelolosan: garis miring menjadi ~1 dan tanda tilde menjadi ~0. Jalur tersebut menunjukkan lokasi persis di dalam dokumen bertingkat sehingga Anda tidak perlu mencari di seluruh teks secara manual.
Cobalah contoh yang tersedia. Objek awal memiliki nama bernilai Ada dan peran pengelola, sedangkan versi baru memakai Gita dan menambahkan peran penyunting. Hasilnya seharusnya menunjukkan perubahan /nama serta penambahan /peran/1. Mengubah lekukan saja tidak menimbulkan selisih struktural. Akan tetapi, mengganti string "1" dengan angka 1 adalah perubahan nyata karena JSON memperlakukan teks dan angka sebagai jenis yang berbeda.
Gunakan untuk API dan konfigurasi
Bandingkan respons layanan sebelum dan sesudah penerapan, dua versi konfigurasi, atau keluaran aktual terhadap keluaran yang diharapkan dalam pengujian. Salin jalur yang penting ke laporan masalah agar rekan kerja dapat mengulang temuan tersebut. Pemrosesan lokal menghindari pengiriman dokumen ke layanan lain. Namun menempelkan nilai rahasia dalam tiket atau membagikan tangkapan layar hasilnya tetap merupakan keputusan terpisah yang perlu dipertimbangkan.
Mulailah dengan memastikan kedua dokumen berisi JSON yang valid. Perbaiki koma terakhir dan komentar, sebab JSON standar tidak mengizinkannya. Jalankan perbandingan, periksa jalur pertama yang berubah, lalu tentukan apakah perubahan itu bermakna bagi aplikasi Anda. Jika banyak indeks array bergeser sekaligus, periksa kemungkinan perubahan urutan sebelum menyimpulkan bahwa setiap anggota disunting satu per satu.
Batasan dan cara menafsirkan hasil
Perbandingan ini bersifat struktural, bukan pemeriksaan skema atau pengujian makna khusus aplikasi. Alat tidak tahu apakah dua URL berbeda menunjuk sumber yang sama atau apakah perubahan nama bidang memang disengaja. Masukan yang terlalu besar dibatasi, dan tampilan berhenti setelah 500 perbedaan pertama agar halaman tetap tanggap. Simpan dokumen asal jika Anda memerlukan audit lengkap atas berkas yang jauh lebih besar.
Penguraian JSON biasa menangani nama kunci objek yang berulang menurut perilaku pengurainya. Karena itu alat ini tidak cocok untuk memeriksa dokumen ambigu dengan kunci ganda. Nilai angka juga mengikuti representasi JavaScript; bilangan bulat di luar rentang aman memerlukan parser tepat yang khusus. Kegunaan utama alat ini adalah payload API biasa dan berkas konfigurasi dengan nilai yang sesuai batas tersebut.