gpt4 book ai didi

java - Jackson 将命名对象解析为同一个类

转载 作者:行者123 更新时间:2023-12-01 10:10:52 26 4
gpt4 key购买 nike

如何使用 Jackson 解析以下 JSON:

{
"foos" : [
"one" : {
"prop1" : "11",
"prop2" : "11"
},
"two" : {
"prop1" : "21",
"prop2" : "21"
},
"three",
"four"
]
}

进入这些类:

public class Root {
private Set<Foo> foos;
// ... getter and setter
}
public class Foo {
private String name; // this should contain the JSON name, e.g.: "one", "two", "three"
private String prop1;
private String prop2;
// ... getters and setters
}

关于 JSON,我更喜欢命名对象而不是:

"foos" : [
{
"name" : "one",
"prop1" : "11",
"prop2" : "11"
},
{
"name" : "two",
"prop1" : "21",
"prop2" : "21"
},
{
"name" : "three"
},
{
"name" : "four"
}
]

因为大多数 foo 不包含其他属性,所以我不知道第一个 JSON 是否不太正确,但它更简洁。

最佳答案

在这种情况下,Map 就可以达到目的

public class Root {
private Set<Foo> foos;
// ... getter and setter
}

public class Foo {
Map<String, InternalFooProps> map = new HashMap<>();
class InternalFooProps{
private String prop1;
private String prop2;
// ... getters and setters
}
}

关于java - Jackson 将命名对象解析为同一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36126520/

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