Comparing JSON Objects Without Child Order Considerations in Java
Unit testing JSON responses from web services often requires comparing JSON objects. However, standard libraries like org.json perform reference comparisons, which fail if the child objects are in different orders.
Solution: JSONAssert Library
Skyscreamer's JSONAssert library offers a robust solution for comparing JSON objects. Its non-strict mode provides flexibility by:
Example Usage:
<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's clear failure messages facilitate efficient debugging, especially for large JSON objects.
The above is the detailed content of How to Compare JSON Objects in Java Without Child Order Considerations?. For more information, please follow other related articles on the PHP Chinese website!