java - 如何使用 Jackson API 在序列化和反序列化上使用不同的 JSONProperty?
问题描述
我有一个 Java 对象“ Author ”,然后将其重组为“Author”的 Ararylist。作者对象直接作为 JSON 保存在 DB 中,如下所示:
{"author":{"id":1,"recordId":0}}
所以我早期的 Java 领域是:
private Author author = new Author();
新的是:
private List<Author> authorList;
问题是我如何编写代码以使用authorList序列化对象,但还需要反序列化旧的“作者”。
我使用@JsonProperty来读取已经保存的author
数据,但这也保存了名为“Author”的 Arraylist,我需要将其命名为authorList
@JsonProperty(value="author")
@JsonDeserialize(using = AuthorDeserializer.class)
解决方案
谷歌搜索我找到了解决方案。我们可以使用@JsonAlias
最新的 Jackson API (2.9.7) 所以在我的情况下,我想要这个别名用于反序列化@JsonAlias(value={"author","authorList"})
。
推荐阅读
- reactjs - 如果使用jsx的地图功能中的条件如何更改bg颜色?
- ios - Alamofire swift 4中的POST请求
- angular - 验证邮政编码仅允许 Angular 4 中的长度为 5 或 7 位
- php - WooCommerce 中的自定义类别图像大小
- events - 具有搜索能力并在特定时间接收的队列
- java - 如何在 groovy 和 SoapUI 中生成带有时间戳的新 txt 文件?
- python - 如何使用 Python 在 Win10 上正确解包 RAW 套接字?
- asp.net - 如何在运行时发现 Razor 类库以加载 Razor 视图?
- matplotlib - 绘制洗牌数组numpy
- css - Unicode 表情符号在浏览器中不可见(显示一个正方形)