Jackson Databind - 获取 pojo 中未指定的属性
Jackson Databind - get properties not specified in pojo
我正在尝试弄清楚如何将 json 绑定到 POJO。
When json
有时可以包含其他字段,具体取决于各种条件。基本上来说 - json
的某些部分将始终包含相同的属性,
例如:姓名和年龄。但有时我会得到 shoeSize and/or eyeColor。我无法列出所有可以传递给我的可能属性,因为其中一些是由用户定义的。
是否有可能实现这样的目标?
class MyClass
{
public String name;
public Integer age;
public Map<String, String> additionalArguments;
public MyClass(...) {...}
}
(再次)阅读文档后,我发现了名为 JsonAnySetter
的注释并处理了还原注释 JsonAnyGetter
class MyClass
{
public String name;
public Integer age;
public Map<String, String> additionalArguments = new HashMap<>();
public MyClass(...) {...}
@JsonAnyGetter
public Map<String,Object> getAdditionalProperties() {
return additionalProperties;
}
@JsonAnySetter
public void putAdditionalProperty(String name, Object value) {
additionalProperties.put(name, value);
}
}
我正在尝试弄清楚如何将 json 绑定到 POJO。
When json
有时可以包含其他字段,具体取决于各种条件。基本上来说 - json
的某些部分将始终包含相同的属性,
例如:姓名和年龄。但有时我会得到 shoeSize and/or eyeColor。我无法列出所有可以传递给我的可能属性,因为其中一些是由用户定义的。
是否有可能实现这样的目标?
class MyClass
{
public String name;
public Integer age;
public Map<String, String> additionalArguments;
public MyClass(...) {...}
}
(再次)阅读文档后,我发现了名为 JsonAnySetter
的注释并处理了还原注释 JsonAnyGetter
class MyClass
{
public String name;
public Integer age;
public Map<String, String> additionalArguments = new HashMap<>();
public MyClass(...) {...}
@JsonAnyGetter
public Map<String,Object> getAdditionalProperties() {
return additionalProperties;
}
@JsonAnySetter
public void putAdditionalProperty(String name, Object value) {
additionalProperties.put(name, value);
}
}