Bandingkan JSON dengan mengabaikan urutan kunci
Dua objek JSON dapat setara meski propertinya muncul dalam urutan berbeda. Perbandingan teks menganggap pengurutan ulang yang tidak berbahaya sebagai perubahan; perbandingan semantik tidak.
Objek dan array mengikuti aturan berbeda
Urutan properti objek tidak bermakna secara semantik, sehingga properti harus dicocokkan berdasarkan nama. Urutan array biasanya bermakna, jadi nilai harus tetap terikat pada indeks kecuali aplikasi menentukan aturan identitas lain.
Ratakan nilai menjadi path yang stabil
Path seperti $.pelanggan.alamat.kota atau $.item[2].harga memberikan koordinat stabil untuk setiap nilai primitif. Membandingkan koordinat tersebut mengungkap penambahan, penghapusan, dan perubahan nilai tanpa gangguan dari indentasi atau urutan kunci.
- Urai kedua dokumen terlebih dahulu.
- Urutkan kunci objek secara deterministik.
- Pertahankan indeks array.
- Bandingkan nilai pada setiap path yang dihasilkan.
Ketahui kapan prapemrosesan diperlukan
Timestamp yang dibuat otomatis, ID permintaan, dan array tanpa urutan mungkin memerlukan aturan eksplisit untuk diabaikan atau diurutkan. Terapkan dan dokumentasikan aturan sebelum perbandingan; jika tidak, hasilnya tidak dapat direproduksi.