gpt4 book ai didi

java - 你能用 GSON 的 JsonElement 对大多数但不是所有的类成员进行相等比较吗

转载 作者:行者123 更新时间:2023-11-30 09:07:55 26 4
gpt4 key购买 nike

我正在用 JUnit 编写单元测试,我想知道是否有办法对其执行 assertEquals 比较。

我想比较两个 JsonElement 类,但我想忽略 JSON 中数组属性中的一个字段。

我的 JSON 看起来像这样:

{
"name":"Jon",
"arrayProps":[
{
"careAbout":"123",
"doNotCareAbout":"blablabla"
},
{
"careAbout":"456",
"doNotCareAbout":"blablabla"
},
{
"careAbout":"789",
"doNotCareAbout":"blablabla"
}
]
}

我想比较除 doNotCareAbout 元素之外的所有字段。当我调用 GSON 时,这可能吗:

JsonElement element1 = ...;
JsonElement element2 = ...;
assertEquals(element1, element2);

如果不是,有人可以推荐一个合适的库,我可以在其中进行这种类型的比较,我想排除一些元素吗?

最佳答案

您可以改为编写忽略元素的自定义比较器(或覆盖 compareTo),并验证 assertEquals(compare(element1, element2), 0);assertEquals(element1.compareTo(element2), 0);。由于您只想查看它们是否相等,因此循环访问元素应该很容易。

最好使用比较器,这样你就不会用特定于测试的东西污染你的对象。

关于java - 你能用 GSON 的 JsonElement 对大多数但不是所有的类成员进行相等比较吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23833561/

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