我使用杰克逊反序列化一些Json。我正在阅读一个大型 json 文档并拉出块并告诉杰克逊拿那个块并将其反序列化为我在 java 中创建的一个对象(实际上是几个对象,因为有嵌套数组)以匹配 json。
我用来反序列化的代码是
fooObject newFoo = mapper.readValue(newNode,fooObject.class);
问题是块中有一个值,有时是哈希值,例如
addWidgetStrategy={"get":2,"spend":6,"textLabel":"bikes"}
有时是一个数组
addWidgetStrategy=[{"get":1.5,"spend":3,"textLabel":"thursday"},{"get":3,"spend":5,"textLabel":"tuesday"}]
所以在 fooObject 我需要处理 addWidgetStrategy 它有自己的对象。如果在 fooObject 我放
public addWidgetStrategy addWidgetStrategy;
上面的工作直到它试图反序列化一个数组
如果我把
public List<addWidgetStrategy> addWidgetStrategy;
它仅适用于数组,当它只是一个哈希时会爆炸
无论它是数组还是单个哈希,我如何解析相同的 Json 元素 addWidgetStrategy?