2

案例如下:

我收到一个与此类似的 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;

并且所有“属性”都属于属性抽象类的子类多态。发生这种情况的注释应正确插入父类和所有子类中。

问题是:JSON 几乎总是包含“属性:null”,它实际上应该是一个 pojo 类(NullProperty 或其他),或者只是被忽略(当它实际上为 null 时,我根本不在乎),但我似乎无法找到这两种解决方案中的任何一种方法来使其发挥作用。

当我定义(例如)一个 NullProperty 子类(完全无效,没有任何东西)时:

无法从 VALUE_NULL 令牌中反序列化 ...properties.NullProperty 的实例

我也找不到忽略空值的方法。否则,当不定义它时:

无法将类型 id 'property' 解析为 [simple type, class ...properties.Property] 的子类型

我也找不到忽略它的方法。

任何帮助将不胜感激。

4

0 回答 0