我想反序列化使用杰克逊现有的JSON文件,并想知道是否有可能执行下面的翻译,而不诉诸一堆自定义反序列化。杰克逊阵列元素POJO
输入JSON看起来是这样的:
{
"type": "foo",
"content": ["a", "b", {"some": "object", "goes": "here"}, 4]
}
第3个content
元素不改变,总是字符串,字符串,SomeDataStructure,整型(可选)
而且我想反序列化到这样的事情:
class Foo {
public static class FooContent {
String some;
String goes;
}
String aString;
String bString;
FooContent content;
Integer cInt;
}
现在我已经遇到BeanAsArrayDeserializer,这听起来喜欢它可能是我想要的,但我似乎无法找到任何东西,甚至像一段示例代码,让我开始。
那么,有什么想法?
Nice code snippet Michal。看起来它只适用于单深度数组。你碰巧知道一个跟踪嵌套数组索引而不用某种类型的字典来跟踪数组/对象深度的简单方法吗?一直在想这个问题一段时间,领导可能会有所帮助。 – Conor 2015-10-28 22:42:07
以上代码是仅适用于上述数据结构的自定义实现。如果我们想要编写更通用的解决方案,我们必须编写新的阵列解串器,并尝试配置它并为属性添加索引。 (反序列化器必须知道会发生什么)。您可以使用示例'JSON'和'POJO'结构在SO上创建新问题。 – 2015-10-29 17:48:03