我有一个Java对象“ Author”,然后将其重组为“ Author”的Ararylist。作者对象直接以JSON格式保存在数据库中,如下所示:
{"author":{"id":1,"recordId":0}}
所以我以前的Java领域是:
private Author author = new Author();
新的是:
private List<Author> authorList;
问题是我如何编写代码以具有具有authorList的序列化对象,但还需要反序列化旧的“ Author”。
我使用@JsonProperty读取已经保存的
author
数据,但这也保存了名为“ Author”的Arraylist,我需要将其命名为authorList
@JsonProperty(value="author")
@JsonDeserialize(using = AuthorDeserializer.class)
最佳答案
谷歌搜索我找到了解决方案。
我们可以使用最新的Jackson API(2.9.7)使用@JsonAlias
因此,在我的情况下,我想为反序列化@JsonAlias(value={"author","authorList"})
使用此别名。
JSON Jackson parse different keys into same field