gpt4 book ai didi

java - 使用 jackson 转换时 POJO 具有空值

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

我试图寻找这个问题的答案,但意识到有多个相似但没有一个与这个匹配。

我有一个具有这种结构的 JSON 对象

{
"model": {
"serie" : "123456",
"id" : "abc123"
/// many fields
},
"externalModel": {
"serie" : "123456",
"fieldX" : "abcde"
// many fields as well
}

我在我的代码中这样做:

 ObjectMapper mapper = new ObjectMapper();
MyObject object = mapper.readValue(hit.getSourceAsString(), MyObject.class);

其中 MyObject 具有以下形式:

@JsonInclude(value = JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)

public class MyObject {


@JsonProperty("serie")
String serie;

@JsonProperty("id")
Long id;

MyObject() {}
}

当我转换时,我没有得到任何异常,而是我得到的 myObject 的所有值都设置为 null

我不知道会出现什么问题,因为没有返回任何异常,知道吗?

最佳答案

你需要使用根属性model,

您可以将 MyObject 重命名为 MyModel 并创建一个 MyObject

@JsonInclude(value = JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class MyObject{
@JsonProperty("model")
MyModel model;
}

然后检查模型

关于java - 使用 jackson 转换时 POJO 具有空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56146472/

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