java - 在 Jackson 中指定特定通用集合字段的具体类型,无需注释

标签 java json jackson

我有一个具有通用集合字段的类

class Test {
  List<E> aList;
}

我想使用 Jackson 反序列化它。我如何指定用于此特定字段的集合类型,而不是用于对象中的所有列表,而不使用注释(因为我无法更改现有类)。

我是 jackson 的初学者,所以我不知道如何编写自定义反序列化器。

最佳答案

FWIW...

without using annotations (as I cannot change the existing class)

Jackson's Mix-Ins feature可以解决这个问题。

i don't know how to write a custom deserializer

虽然尚未完全更新最新的 Jackson 版本,但 Jackson Wiki 页面 custom deserializationcustom creators仍然具有相关性。

另外,在 Gson v Jackson - Part 3 on InstanceCreator for a Parameterized Type ,我针对类似问题发布了几个不同的解决方案。

关于java - 在 Jackson 中指定特定通用集合字段的具体类型,无需注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11861121/

相关文章:

java - PHP SoapClient : Object passed is received as NULL in Java

Java Swing 图形

javascript - jQuery - 如何填充(数据注入(inject))嵌套 SheepIt 表单

c# - foreach 循环中的 String.Format 用于在同一行中打印

java - 如何通过 Jackson 传递原始 JSON?

java - 如何在应用程序级别管理只读数据库连接

java - Android 和桌面计算机之间的远程过程调用机制

java - 如何在不循环键的情况下检查嵌套 json 对象的键名称是否包含数字/特殊字符?

java - 如何在 Jackson 中使用自定义序列化程序?

java - AWS @LambdaFunction 无法反序列化为 POJO