gpt4 book ai didi

java - 在这种情况下如何使用@JsonProperty - jackson API with lombok

转载 作者:行者123 更新时间:2023-11-29 04:32:31 25 4
gpt4 key购买 nike

我知道如何在 jackson API 中使用 @JsonProperty 但下面的情况不同。

我在下面的 json 片段中。

{"results":[{"uniqueCount":395}

所以,为了用 jackson API 解析上面的 json,我在 java pojo 类下面写了。

package com.jl.models;

import lombok.Data;

@Data
public class Results
{
private int uniqueCount;

}

后来,我不得不解析下面类似的 json 片段。

{"results":[{"count":60}

现在,这里的问题是我无法使用 Results 类解析此 json,因为它需要一个字符串 uniqueCount

我可以轻松地创建另一个具有 count 成员变量的 java pojo 类,但我必须创建所有具有 Results 类实例的父 java 类。

那么,有什么方法可以自定义具有 lombok 行为的 Results 类来解析两个 json 而不会相互影响?

提前感谢您的帮助。

最佳答案

您可以使用 Jackson 的 @JsonAnySetter 注释将所有未知键指向一个方法,然后您可以自己完成分配:

@Data
public class Results
{
private int uniqueCount;

// all unknown properties will go here
@JsonAnySetter
public void setUnknownProperty(String key, Object value) {
if (key.equals("count")) {
uniqueCount = (Integer)value;
}
}
}

关于java - 在这种情况下如何使用@JsonProperty - jackson API with lombok,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43255501/

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