我正在尝试将下面的 json 字符串转换为 java 对象,但我得到的是空对象。在 prop2 对象下,可以有任意数量的键值对(其中键是字符串,值是数组)
{
"Level1": {
"prop1": "",
"prop2": {
"one": [{
"ip": "1.2.3.4",
"port": "100"
}],
"ten": [{
"ip": "10.20.20.10",
"port": "200"
}]
}
}
}
我有这个类结构,但是我将 ipAndPorts 映射为空。
@JsonIgnoreProperties(ignoreUnknown = true)
static class Root {
@JsonProperty("Level1")
private Level1 level1;
}
@JsonIgnoreProperties(ignoreUnknown = true)
static class Level1 {
@JsonProperty("prop2")
private Prop2 prop2;
}
@JsonIgnoreProperties(ignoreUnknown = true)
static class Prop2 {
private Map<String, List<IpAndPort>> ipAndPorts = Collections.emptyMap();
}
@JsonIgnoreProperties(ignoreUnknown = true)
static class IpAndPort {
@JsonProperty("port")
private String port;
}
我的 java 类应该如何正确表示“prop2”?