子の順序を考慮せずに Java で JSON オブジェクトを比較する方法

Patricia Arquette
リリース: 2024-11-05 03:23:02
オリジナル
241 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!