Rumah >Java >javaTutorial >Bagaimana untuk Menguji Kesamaan Objek JSON Mengabaikan Pesanan Kanak-kanak di Java?

Bagaimana untuk Menguji Kesamaan Objek JSON Mengabaikan Pesanan Kanak-kanak di Java?

Susan Sarandon
Susan Sarandonasal
2024-11-05 01:17:02479semak imbas

How to Test JSON Object Equality Ignoring Child Order in Java?

Menguji Kesamaan Objek JSON Mengabaikan Pesanan Kanak-kanak dalam Java

Apabila unit menguji respons JSON daripada perkhidmatan web, adalah penting untuk membandingkan keputusan untuk kesaksamaan . Walau bagaimanapun, susunan elemen anak dalam objek JSON tidak boleh menjejaskan perbandingan. Untuk menangani cabaran ini, mari kita terokai perpustakaan penghuraian JSON yang sesuai.

Penyelesaian: JSONAssert Skyscreamer

JSONAssert Skyscreamer menawarkan mod tidak ketat yang menampung dua keperluan utama:

  • Kebolehlanjutan objek: Membenarkan medan tambahan dalam objek JSON sebenar yang tidak terdapat dalam objek JSON yang dijangkakan.
  • Pemesanan tatasusunan longgar: Menganggap tatasusunan dengan susunan elemen berbeza sebagai sama.

Contoh Ujian

<code class="java">@Test
public void testGetFriends() {
    JSONObject data = getRESTData("/friends/367.json");
    String expected = "{friends:[{id:123,name:\"Corby Page\"}"
        + ",{id:456,name:\"Solomon Duskis\"}]}";
    JSONAssert.assertEquals(expected, data, false);
}</code>

Dalam contoh ini, objek JSON yang dijangka menentukan tatasusunan rakan dengan ID 123 dan 456. Objek JSON sebenar mungkin mempunyai medan tambahan atau susunan elemen yang berbeza dalam tatasusunan. JSONAssert akan tetap menganggapnya sama dalam mod tidak ketat.

Atas ialah kandungan terperinci Bagaimana untuk Menguji Kesamaan Objek JSON Mengabaikan Pesanan Kanak-kanak di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn