我的代码基本上可以读取添加到json中的属性,如'name'和'value'遵循JSON {"operation":"write-attribute","address":[{"subsystem":"web"},{"connector":"http"}],"name":"socket-binding","value":"jndi"}
由于方法是通用的,我也只是依靠硬编码的名称和值 - 其他JSON字符串可能包含应“抓住”其他属性@JsonAny(S | G} etter从1.7.4更改为1.9.3?
@JsonAnySetter
public void addAdditionalProperty(String key, Object value) {
if (additionalProperties == null)
additionalProperties = new HashMap<String, Object>();
additionalProperties.put(key,value);
}
@SuppressWarnings("unused")
public void setAdditionalProperties(Map<String, Object> additionalProperties) {
this.additionalProperties = additionalProperties;
}
@JsonAnyGetter
public Map<String,Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonIgnore
public String getName() {
return (String) getProperty("name");
}
@JsonIgnore
public String getValue() {
return (String) getProperty("value");
}
此代码与杰克逊1.7效果很好。 4,但在1.9.3中没有设置附加属性时失败 我无法看到这是否是预期的更改,或者它是否回归
如果这是一个预期的变化 - 有谁知道如何“修复”我的代码再次工作?
的完整代码is here,测试is here(第一次测试,OperationSerDeserTest)
什么是错误? – fge 2011-12-25 17:46:11
如上所述:整个additionalProperties没有设置,而它们在1.7.4。 – 2011-12-25 17:50:13
好的,我知道有一个运行时错误 – fge 2011-12-25 17:59:07