我有以下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;
})
));从实现上看,我们提供给定制方法的正则表达式似乎被修改了,我无法得出可以满足OR条件的path参数的值。
如有任何建议,我们将不胜感激
谢谢!
发布于 2020-03-24 00:56:16
尝尝这个
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,我不是很确定。也许你应该试着在它前面加上**.作为递归的前缀。
保重。朱利安。
https://stackoverflow.com/questions/54367991
复制相似问题