gpt4 book ai didi

java - JSONAssert.assertEquals : Ignoring multiple fields when comparing

转载 作者:行者123 更新时间:2023-12-03 08:57:12 25 4
gpt4 key购买 nike

我有以下 JSON 结构

{
"name": "xyz",
"address": {
"street": "avenida",
"number": "41414-44141",
"code": "33ll",
"moreFields": "some data"
},
"moreFields": "some data"
}

在我的 JUNIT 类中,我必须比较具有上述结构的两个 JSON 文件。但是我想忽略字段 address.numberaddress.code。我知道我可以使用下面的代码来忽略一个字段,但是我如何更改它以适应我的要求?

assertEquals(json1, json2,
return new CustomComparator(JSONCompareMode.NON_EXTENSIBLE,
Customization.customization("address.code",
(o1, o2) -> {
return true;
})
));

查看实现,我们为自定义方法提供的正则表达式似乎已被修改,我无法提供可以是 OR 条件的 path 参数的值.

非常感谢任何建议

谢谢!

最佳答案

试试这个

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 不太确定。也许你应该尝试在它前面加上 **. 前缀以表示反曲。

保重。朱利安。

关于java - JSONAssert.assertEquals : Ignoring multiple fields when comparing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54367991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com