0

我正在尝试使用 Jackson 从来自 GUI 的传入 Json 填充 POJO(Java 对象),其他属性已正确填充,但问题仅在于 Mac 地址、L3 Ip 地址和 L4 源和目标端口。

错误是:

无法识别的字段未标记为可忽略

关于我可能缺少什么的任何建议?

Abc abc = null;
try {
    abc = mapper.readValue(body, Abc.class);
    System.out.println("Jackson Abc="+abc.toString());
} catch (JsonGenerationException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (JsonMappingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

Abc is my POJO : Setting the values as

if (this.dlDst != null) {
            header.setField(HeaderType.DL_DST, HexEncode.bytesFromHexString(this.dlDst));
        }

此外,在调试时,我发现它正在访问我的 POJO 的无参数构造函数,并且 pojo 对象被填充为 null ......但错误只说明了 mac 地址和 ip 地址,上面示例中的源端口是它的 dlDst。

4

1 回答 1

0

您的 Abc 类必须为每个属性提供一个匹配的 setter 方法。如果缺少一种这样的方法,或者命名略有不同(大小写!),您将收到此错误消息。

于 2013-09-17T15:43:11.720 回答