Java 当响应顺序不同时,如何比较两个JSon响应

Java 当响应顺序不同时,如何比较两个JSon响应,java,json,compare,Java,Json,Compare,下面是我收到的两个API调用的响应,响应相同,但数据顺序不正确: {"URI":"CoGroup/2","level":"total","name":null,"code":null,"baseColor":null,"secondaryColor":null,"selected":null,"value&q

下面是我收到的两个API调用的响应,响应相同,但数据顺序不正确:

{"URI":"CoGroup/2","level":"total","name":null,"code":null,"baseColor":null,"secondaryColor":null,"selected":null,"value":317978,"Byyear":[],"count":10499},
{"URI":"integer/7005","level":"total","name":null,"code":null,"baseColor":null,"secondaryColor":null,"selected":null,"value":26857,"Byyear":[],"count":4542},
{"URI":"intgroup/78","level":"total","name":null,"code":null,"baseColor":null,"secondaryColor":null,"selected":null,"value":105304,"Byyear":[],"count":1653}
]

[
{"URI":"CoGroup/2","level":"total","name":null,"code":null,"baseColor":null,"secondaryColor":null,"selected":null,"value":317978,"Byyear":[],"count":10499},
{"URI":"intgroup/78","level":"total","name":null,"code":null,"baseColor":null,"secondaryColor":null,"selected":null,"value":105304,"Byyear":[],"count":1653},
{"URI":"integer/7005","level":"total","name":null,"code":null,"baseColor":null,"secondaryColor":null,"selected":null,"value":26857,"Byyear":[],"count":4542}
]
我曾尝试使用Jackson来比较使用mapper.readtree的响应,但结果返回为false

ObjectMapper mapper1 = new ObjectMapper();
ObjectMapper mapper2 = new ObjectMapper();
try{
assertEquals(mapper1.readTree(respStr1), mapper2.readTree(respStr2));
}
catch(Exception e) {
System.out.println(e);
}

and 

ObjectMapper mapper1 = new ObjectMapper();
JsonNode tree1 = mapper1.readTree(respStr1);
JsonNode tree2 = mapper1.readTree(respStr2);
System.out.println(tree1.equals(tree2));

关于如何在此处进行比较的任何建议…

您可以使用scyscreamer提供的库来实现此目的

它的工作原理如下:

// respStr1 and respStr2 are the two json in string
JSONAssert.assertEquals(respStr1, respStr2, JSONCompareMode.NON_EXTENSIBLE);

NON_EXTENSIBLE
模式将允许在json顺序不同的情况下传递断言

编辑:
JSONCompare.compareJSON(respStr1,respStr2,CompareMode.NON\u EXTENSIBLE)。如果比较通过,passed()将返回。
如何将比较结果作为布尔值接收?
JSONCompare.compareJSON(respStr1,respStr2,CompareMode.NON\u EXTENSIBLE)。如果比较通过,passed()将返回。