【发布时间】:2020-11-04 23:16:52
【问题描述】:
我挣扎了一阵子,试图找到使用 fastxml.jackson 将以下结构反序列化为 java 对象的方法。
显然“NewYork”和“Boston”是键,而不是我必须解组到地图中的模式
Map<String, Object> jsonMap = mapper.readValue(jsonString,
new TypeReference<Map<String,Object>>(){});
但是jsonMap返回的是LinkedHashMap,key是“NewYork”,value是另一个LinkedHashMap。在第二个内部映射中,键是“schedules”,值是 LinkedHashMap 的列表。第三个内图,key,value分别是 “日期”:“2020-10-31”, “航班号”:“UA110”, “出发”:“下午 17:30”
我想要的是这样的java模型
public class FlightInfo {
Map<String, List<Schedule>> info;
}
我做了一些搜索,想到JsonNode,Json节点必须知道属性名,在我的情况下,NewYork和Boston是不确定的。
我找不到这样做的方法。
{
"NewYork": {
"schedules": [
{
"date": "2020-10-31",
"flightNo": "UA110",
"depart": "17:30PM"
},
{
"date": "2020-11-01",
"flightNo": "UA230",
"depart": "18:30PM"
}
]
},
"Boston": {
"schedules": [
{
"date": "2020-11-01",
"flightNo": "AM110",
"depart": "08:00AM"
},
{
"date": "2020-11-01",
"flightNo": "CA230",
"depart": "10:30AM"
}
]
}
}
谢谢
【问题讨论】:
-
请编辑问题并发布您正在尝试的代码和具体问题。谢谢你看过这里吗-tutorials.jenkov.com/java-json/…
-
感谢@OldProgrammer,我在您提供的链接中没有找到任何有用的内容。
标签: java json jackson deserialization