【发布时间】:2019-06-07 12:51:16
【问题描述】:
我的目标是验证我从 RabbitMQ 获得的某些 JSON 是否对应于单个文件中数组中的预期 JSON 之一。
也就是说,我需要验证这个 JSON:
{
"networkCode":"network",
"programId":"92000"
}
存在于此 JSON 数组中:
[
{
"networkCode":"network",
"programId":"92000"
},
{
"networkCode":"network",
"programId":"92666"
}
]
非常感谢您的帮助!
我的部分代码
//GET DESIRABLE JSON
String message = new String(delivery.getBody(), StandardCharsets.UTF_8);
JSONObject myJSON= new JSONObject(message);
//GET THE JSON ARRAYS FROM FILE
JSONParser parser = new JSONParser();
Object expectedJSONs= parser.parse(new FileReader("C:\\amqpclient\\src\\test\\java\\tradeDoubler\\ExpectedDTO.json"));
JSONArray expectedArray = (JSONArray) expectedJSONs;
JSONAssert.assertEquals(
myJSON, expectedArray , JSONCompareMode.LENIENT);
编译说不能解决这个问题
线程“main”java.lang.AssertionError 中的异常:需要一个 JSON 数组,但传入一个 JSON 对象
【问题讨论】:
-
遍历数组并检查当前对象(在数组中)是否等于从 RabbitMQ 获得的对象
-
@Lino 如果我知道怎么做,我会这样做,不会问
-
我可以引导您到documentation,因为我不会为您编写代码,尤其是
getJSONObject()和length()方法应该可以帮助您实施我在其他评论中的建议跨度> -
哪一行提示错误?你用的是什么 JSON 库?