ホームページ  >  記事  >  Java  >  Javaで子の順序を考慮せずにJSONオブジェクトを比較するにはどうすればよいですか?

Javaで子の順序を考慮せずにJSONオブジェクトを比較するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-08 09:40:02772ブラウズ

How to Compare JSON Objects without Regarding Child Order in Java?

子の順序に関係なく Java で JSON オブジェクトを比較する

Web サービスからの JSON 応答を単体テストする場合、JSON オブジェクトを比較するライブラリを解析します。子供の順序を無視することは可能ですinvaluable.

解決策: Skyscreamer の JSONAssert

Skyscreamer の JSONAssert ライブラリは解決策を提供します。 「非厳密」モードでは次のことが可能です。

  • オブジェクトの拡張性: 期待値 {id:1} は {id:1,moredata:'x'} と一致します。
  • 緩やかな配列順序付け: ['dog','cat'] は ['cat','dog'] と等しくなります。

厳密モードでは、 JSONAssert は、json-lib のテスト クラスと同様に機能します。

使用例

<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); // "false" for non-strict mode
}</code>

追加機能

  • 大きな JSON を比較する際のエラー メッセージのクリアオブジェクト
  • 非厳密比較モードと厳密比較モードの両方を提供します

以上がJavaで子の順序を考慮せずにJSONオブジェクトを比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。