java - Jackson 序列化动态类型对象

标签 java serialization jackson

我有一个要序列化的 Java POJO,它可以包含某些动态字段。

public class ClassToSerialize {
    private String property1;
    private String propertyNameMappedToDBSchema;

    private List<Data> dataList;

}

然后我使用自定义序列化根据我需要的结构对它们进行序列化。

问题是 propertyNameMappedToDBSchema 是上面示例中的 List,因此我必须将数据用作 List ,但它也将是非列表。

我如何制作我的Java POJO或通知jackson我可以在哪里将Data制作为基于propertyNameMappedToDBSchema的动态类型

最佳答案

您可以将 propertyNameMappedtoDBSchema 的类型更改为 Jackson JsonNode

然后可以使用JsonNode的方法如JsonNode.isArrayJsonNode.isStringJsonNode.isObject等来确定如何处理 JsonNode。

关于java - Jackson 序列化动态类型对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47026388/

相关文章:

java - 保存大型短数组android

c# - 序列化表达式树

xml - Spring RestController 如何同时接受 JSON 和 XML?

java - Android项目中ArrayList的日志列

java - 尝试在 Jenkins 上运行 Selenium 时出现 NoSuchSession 异常

java - 如何使用 mailjet 的 Rest Java API 发送新闻通讯?

java - 自定义 Jackson 序列化器无法与 gson 一起使用

java - 在java中取消引用可能的空指针

.net - "Formatter"和"Serializer"-条款之间有何区别?

java - 传递到 Jersey + Jackson 时从实体中删除字段