首頁 > Java > java教程 > 如何在不考慮子順序的情況下比較 Java 中的 JSON 物件?

如何在不考慮子順序的情況下比較 Java 中的 JSON 物件?

Patricia Arquette
發布: 2024-11-05 03:23:02
原創
389 人瀏覽過

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

在 Java 中比較不考慮子順序的 JSON 物件

來自 Web 服務的單元測試 JSON 回應物件通常需要比較 JSON 回應物件。但是,像 org.json 這樣的標準函式庫會執行引用比較,如果子物件的順序不同,則會失敗。

解決方案:JSONAssert 庫

Skyscreamer 的 JSONAssert 庫提供了用於比較 JSON 物件的強大解決方案。其非嚴格模式透過以下方式提供彈性:

  • 允許物件擴充性:期望值{id:1} 將符合實際值{id:1,moredata:'x'}
  • 忽略鬆散數組順序: ['dog','cat'] 將等於['cat','dog']

用法示例:

<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>
登入後複製

JSONAssert 清晰的失敗訊息有助於高效調試,尤其是對於大型JSON 物件。

以上是如何在不考慮子順序的情況下比較 Java 中的 JSON 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板