我正在尝试迁移一些 JSON 数据绑定代码的实现细节以使用 Java EE 8 JSON-B API 而不是 Jackson。
为了匹配 Jackson 的默认行为,当 JSON 有效负载包含无法识别的属性时,我想拒绝将 JSON 有效负载反序列化为 POJO 的任何尝试。
例如,如果我有以下 JSON 数据:
{
"name": "Bob",
"extraProp": "Something"
}
我有以下 Java 对象,将这些数据建模为:
public class Thing {
public String name;
// no mention of "extraProp"
}
我将如何拒绝将上述 JSON 数据绑定到上述 POJO 的尝试?
如果我尝试以下操作,Thing
对象将被创建而没有错误(这里我希望发生错误):
Jsonb jsonb = JsonbProvider.provider()
.create()
.build();
Thing t = jsonb.fromJson("{\"name\":\"Bob\",\"extraProp\":\"Something\"}", Thing .class);