我具有以下JSON结构
{
"name": "xyz",
"address": {
"street": "avenida",
"number": "41414-44141",
"code": "33ll",
"moreFields": "some data"
},
"moreFields": "some data"
}
在我的JUNIT类中,我将不得不比较两个具有上述结构的JSON文件。但是,我想忽略字段address.number
和address.code
。我知道我可以使用以下代码忽略一个字段,但是如何更改此字段以适应我的要求?
assertEquals(json1, json2,
return new CustomComparator(JSONCompareMode.NON_EXTENSIBLE,
Customization.customization("address.code",
(o1, o2) -> {
return true;
})
));
看一下实现,看来我们提供给自定义方法的正则表达式被修改了,我无法提出path
参数的值,该参数可以满足OR
的条件。
任何建议都值得赞赏
谢谢!
答案 0 :(得分:0)
尝试一下
CustomComparator comparator = new CustomComparator(
JSONCompareMode.LENIENT,
new Customization("address.nunber", (o1, o2) -> true),
new Customization("address.code", (o1, o2) -> true));
JSONAssert.assertEquals(
expectedJsonAsString,
actualJsonAsString,
comparator);
对于Xpath,我不太确定。
也许您应该尝试使用**.
为其前缀以进行反曲。
保重。 朱利安。