bha*_*thp 2 java junit json jsonassert
我有以下 JSON 结构
{
"name": "xyz",
"address": {
"street": "avenida",
"number": "41414-44141",
"code": "33ll",
"moreFields": "some data"
},
"moreFields": "some data"
}
Run Code Online (Sandbox Code Playgroud)
在我的 JUNIT 类中,我必须比较具有上述结构的两个 JSON 文件。但是我想忽略字段address.number和address.code。我知道我可以使用下面的代码来忽略一个字段,但是我如何更改它以适应我的要求?
assertEquals(json1, json2,
return new CustomComparator(JSONCompareMode.NON_EXTENSIBLE,
Customization.customization("address.code",
(o1, o2) -> {
return true;
})
));
Run Code Online (Sandbox Code Playgroud)
查看实现,我们为自定义方法提供的正则表达式似乎已被修改,我无法得出可以作为条件path的参数值OR。
非常感谢任何建议
谢谢!
小智 5
尝试这个
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);
Run Code Online (Sandbox Code Playgroud)
我对 Xpath 不太确定。也许你应该尝试在它前面加上**.反曲前缀。
小心。朱利安.