Jika Anda sudah menggunakan JUnit, versi terbaru sekarang menggunakan Hamcrest. Ini adalah kerangka kerja pencocokan umum (terutama berguna untuk pengujian unit) yang dapat diperluas untuk membangun pencocokan baru.
Ada perpustakaan open source kecil yang disebut hamcrest-json
dengan pencocokan yang menyadari JSON. Itu didokumentasikan dengan baik, diuji, dan didukung. Berikut ini beberapa tautan bermanfaat:
Kode contoh menggunakan objek dari perpustakaan JSON org.json.simple
:
Assert.assertThat(
jsonObject1.toJSONString(),
SameJSONAs.sameJSONAs(jsonObject2.toJSONString()));
Secara opsional, Anda dapat (1) mengizinkan array "pesanan apa pun" dan (2) mengabaikan bidang tambahan.
Karena ada berbagai perpustakaan JSON untuk Java ( Jackson
, GSON
, json-lib
, dll), hal ini berguna bahwa hamcrest-json
dukungan JSON teks (sebagai java.lang.String
), benda-benda serta native mendukung dari perpustakaan JSON Douglas Crockford org.json
.
Akhirnya, jika Anda tidak menggunakan JUnit, Anda dapat menggunakan Hamcrest secara langsung untuk pernyataan. ( Saya menulis tentang itu di sini. )
toString()
untuk mengubah objek menjadiJSON
string.