Java での子の順序を考慮しない JSON オブジェクトの比較
Web サービスからの JSON 応答の単体テストでは、多くの場合、JSON オブジェクトの比較が必要になります。ただし、org.json などの標準ライブラリは参照比較を実行しますが、子オブジェクトの順序が異なると失敗します。
解決策: JSONAssert ライブラリ
Skyscreamer の JSONAssert ライブラリは、 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>
JSONAssert の明確な失敗メッセージにより、特に大きな JSON オブジェクトの場合、効率的なデバッグが容易になります。
以上が子の順序を考慮せずに Java で JSON オブジェクトを比較する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。