[英]Parsing json string to java with complex datastructure(jackson)
我正在嘗試將下面的json字符串轉換為java對象,但是我正在獲取空對象。 在prop2對象下,可以有任意數量的鍵值對(其中key是字符串,value是數組)
{
"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”?
記錄:該問題已通過使用解決
@JsonIgnoreProperties(ignoreUnknown = true)
static class Level1 {
@JsonProperty("prop2")
private Map<String, List<IpAndPort>> ipAndPorts = Collections.emptyMap();
}
直接不使用Prop2
類。 否則,Jackson將在prop2
JSON對象下期望一個名為ipAndPorts
的JSON屬性。
我認為您首先要按照想要的樣子創建Java類,然后使用Jackson將其序列化為JSON。 您將看到結果JSON的結構,並查看是否以及如何需要修改您的類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.