gpt4 book ai didi

java - 将 JSON 的嵌套字段转换为 java 对象

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

下面是我的课

class Feed {
Long id;
String title;
String text;
Short type;
Object object;
}

Feed.object可以是基于 Feed.type 的任何类型。当我将类(class)文档上传到elasticsearch时然而,当文档被取回时,一切都正常 org.codehaus.jackson.map.ObjectMapper转换Feed.objectLinkedHashMap 。有没有办法获取实际对象?我得到的 JSON 字符串是 Feed 的。

以下是转换:

Feed feed = mapper.readValue(response.getHits().getHits()[0].getSourceAsString(), Feed.class);

最佳答案

可以根据type的值,使用@JsonTypeInfo来表明objectclass是什么在 Feed 类中。例如,

class Feed {
Long id;
String title;
String text;
Short type;
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXTERNAL_POPERTY, propery = "type")
@JsonSubTypes({
@JsonSubTypes.Type(value = Foo.class, name = "1"),
@JsonSubTypes.Type(value = Bar.class, name = "2")
})
Object object;
}

关于java - 将 JSON 的嵌套字段转换为 java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38031180/

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