杰克逊序列化动态类型对象

时间:2017-10-31 00:58:08

标签: java serialization jackson

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

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

    private List<Data> dataList;

}

然后我使用自定义序列化按照我需要的结构序列化它们。

问题是propertyNameMappedToDBSchema列表是上面的例子,所以我不得不将数据用作List,但它也不是列表。

如何制作我的Java POJO或通知jackson我可以根据Data

使propertyNameMappedToDBSchema成为动态类型

1 个答案:

答案 0 :(得分:2)

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

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