Rumah  >  Artikel  >  Java  >  Bagaimana Membandingkan Objek JSON di Java Tanpa Pertimbangan Pesanan Kanak-kanak?

Bagaimana Membandingkan Objek JSON di Java Tanpa Pertimbangan Pesanan Kanak-kanak?

Patricia Arquette
Patricia Arquetteasal
2024-11-05 03:23:02237semak imbas

How to Compare JSON Objects in Java Without Child Order Considerations?

Membandingkan Objek JSON Tanpa Pertimbangan Pesanan Kanak-kanak dalam Java

Unit menguji respons JSON daripada perkhidmatan web selalunya memerlukan membandingkan objek JSON. Walau bagaimanapun, perpustakaan standard seperti org.json melakukan perbandingan rujukan, yang gagal jika objek kanak-kanak berada dalam susunan yang berbeza.

Penyelesaian: Perpustakaan JSONAssert

Pustaka JSONAssert Skyscreamer menawarkan penyelesaian yang teguh untuk membandingkan objek JSON. Mod tidak ketatnya memberikan fleksibiliti dengan:

  • Membenarkan kebolehlanjutan objek: Nilai dijangka {id:1} akan sepadan dengan nilai sebenar {id:1,moredata:'x'}
  • Mengabaikan susunan tatasusunan longgar: ['anjing','kucing'] akan menyamai ['kucing','anjing']

Contoh Penggunaan:

<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>

Mesej kegagalan JSONAssert yang jelas memudahkan penyahpepijatan yang cekap, terutamanya untuk objek JSON yang besar.

Atas ialah kandungan terperinci Bagaimana Membandingkan Objek JSON di Java Tanpa Pertimbangan Pesanan Kanak-kanak?. 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