-1

我想使用 Jayway 的 JsonPath 比较两个 JSONS 中的许多值。这就是我目前的做法:

requestJson = Configuration.defaultConfiguration().jsonProvider().parse(String.valueOf(requestBodyJson));
responseJson = Configuration.defaultConfiguration().jsonProvider().parse(String.valueOf(httpResponseJson));

assertEquals(JsonPath.read(requestJson, "$.pathtokey1").toString(), JsonPath.read(responseJson, "$.pathtokey1").toString());
assertEquals(JsonPath.read(requestJson, "$.pathtokey2").toString(), JsonPath.read(responseJson, "$.pathtokey2").toString());
assertEquals(JsonPath.read(requestJson, "$.pathtokey3").toString(), JsonPath.read(responseJson, "$.pathtokey3").toString());
assertEquals(JsonPath.read(requestJson, "$.pathtokey4").toString(), JsonPath.read(responseJson, "$.pathtokey4").toString());
assertEquals(JsonPath.read(requestJson, "$.pathtokey5").toString(), JsonPath.read(responseJson, "$.pathtokey5").toString());
assertEquals(JsonPath.read(requestJson, "$.pathtokey6").toString(), JsonPath.read(responseJson, "$.pathtokey6").toString());

有没有更好(更短)的方法来做到这一点?

即我是否必须JsonPath.read每次都做,或者我可以只做一次并创建一个对象,这样我就可以做这样的事情:

assertEquals(jsonPathRequestObject.pathtokey1).toString(),jsonPathResponseObject.pathtokey1).toString());
assertEquals(jsonPathRequestObject.pathtokey2).toString(),jsonPathResponseObject.pathtokey2).toString());
assertEquals(jsonPathRequestObject.pathtokey3).toString(),jsonPathResponseObject.pathtokey3).toString());

我假设您可能可以,但我不确定您是如何做到的。

4

0 回答 0