案例如下:
我收到了类似这样的Json:
{
nodeProperties:
{
node: {
@id: "00:00:82:b6:ba:b6:5e:43"
@type: "OF"
},
properties: {
property: null,
tables: {
tablesValue: "-2"
},
actions: {
actionsValue: "4095"
},
...
}
}
反序列化贯穿Jackson v.1.9& Java7
对属性进行反序列化并将其存储到此“nodeProperties”属性中:
private java.util.List<Property> _properties;
所有“属性”都属于Property抽象类的子类polimorphism。发生这种情况的注释应该正确地插入父类和所有子类中。
问题是:JSON几乎总是包含“property:null”,它实际上应该是一个pojo类(NullProperty或其他),或者只是被忽略(因为它实际上是null,我根本不关心) ,但我似乎无法找到这两种解决方案中的任何一种方法来使其发挥作用。
当我定义(例如)一个NullProperty子类(completly void,没有任何东西)时:
无法从VALUE_NULL标记中反序列化... properties.NullProperty的实例
我也找不到忽略空值的方法。否则,如果没有定义它:
无法将类型ID“属性”解析为[simple type,class ... properties.Property]的子类型
我也找不到忽视它的方法。
非常感谢任何帮助。