我有这样的JSON对象:
"stream_server":{
"value":"11",
"list":[
{
"id":"11",
"desc":"EU West"
},
{
"id":"4",
"desc":"EU Sud + GB"
},
{
"id":"9",
"desc":"DE 1"
},
{
"id":"12",
"desc":"DE 2"
}
]
}
我为 Jackson 库生成了代码,其中“list”显示为对象的ArrayList
。
public class StreamServer {
@JsonProperty("value")
private String value;
@JsonProperty("list")
private java.util.HashMap<String, String> serverList = new HashMap<>();
}
我可以像上面那样将其反序列化为Java Object吗?
我正在寻找示例代码。
答案 0 :(得分:4)
您可以将其反序列化为。
public static class StreamServer {
@JsonProperty("value")
private String value;
@JsonProperty("list")
private List<Server> serverList;
}
public static class Server {
@JsonProperty("id")
private String id;
@JsonProperty("desc")
private String desc;
}
杰克逊的代码阅读将如下所示:
ObjectMapper m = new ObjectMapper();
StreamServer s = m.readValue(json, StreamServer.class);