在 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中文网其他相关文章!