ホームページ > Java > &#&チュートリアル > Javaで子の順序を無視してJSONオブジェクトの同等性をテストする方法?

Javaで子の順序を無視してJSONオブジェクトの同等性をテストする方法?

Susan Sarandon
リリース: 2024-11-05 01:17:02
オリジナル
496 人が閲覧しました

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

Java で子の順序を無視した JSON オブジェクトの同等性のテスト

Web サービスからの JSON 応答の単体テストを行う場合、結果の同等性を比較することが重要です。ただし、JSON オブジェクト内の子要素の順序は比較に影響を与えません。この課題に対処するために、適切な JSON 解析ライブラリを検討してみましょう。

解決策: Skyscreamer の JSONAssert

Skyscreamer の JSONAssert は、2 つの主要な要件に対応する非厳密モードを提供します。

  • オブジェクトの拡張性: 予期される JSON オブジェクトに存在しない追加フィールドを実際の JSON オブジェクトに許可します。
  • 緩やかな配列順序: 要素の順序が異なる配列は等しいと見なされます。

テスト例

<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>
ログイン後にコピー

この例では、期待される JSON オブジェクトは、次のようなフレンドの配列を指定します。 ID 123 および 456。実際の JSON オブジェクトには追加のフィールドが含まれる場合や、配列内の要素の順序が異なる場合があります。 JSONAssert は非厳密モードでもこれらを等しいとみなします。

以上がJavaで子の順序を無視してJSONオブジェクトの同等性をテストする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート