【发布时间】:2021-12-21 02:06:02
【问题描述】:
我在 Json 中是全新的,我正在尝试反序列化具有复杂类型的复杂 Json(所有这些元素都是我程序中的类:entete、pied-depage、corps(List
[{
"entete":{
"titre" :, "Nummer" : ,
… }
"pied-depage":{
"utilisateur" : "martin"
… }
"Corps":[{
"reservation" : 0.00,
"garantie" : [ ],
"Utilisateurs" : [ ],
…}
…}]
"nomain": $
"daterRange": {}
"labels":{}
"date1" : "1988-01-01",
"date2" : "1528-12-31"
}]
class Tester {
private entete header = entete.getHeader();
private pied-depage footer = pied-depage.getFooter();
private List<Elt> Corps;
private Elt anlagengut;
private String nomain;
private LocalDateRange dateRange;
public LocalDate getDate1() {
return this.dateRange.getStart();
}
public LocalDate getDate2() {
return this.dateRange.getEndInclusive();
}
// getter ...
public static List<Tester> getCollection() throws IOException {
ObjectMapper mapper = new ObjectMapper();
mapper.registerModules( new JavaTimeModule());
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false)
.findAndRegisterModules();
List<Tester> tester = (List<Tester>) mapper.readValue(Paths.get("Tester.json").toFile(), List.class);
return tester;
}
}
我在用 Jackson 序列化同一个对象之后尝试反序列化生成的 JSON 以在另一个程序中拥有相同的容器。你对我有什么暗示吗?我已经写了这些,但是我得到了一个带有 LinkedHashMap 类型元素的对象。
【问题讨论】:
-
据我了解,这不是真正的代码:
private pied-depage footer = pied-depage.getFooter();,对吧?您能否提供工作代码。无论如何,为了匹配 JSON,该字段声明应该更改为private Object piedDepage
标签: java json jackson-databind localdate