我有一个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

09-30 17:21
查看更多