我有基本上执行以下操作的代码来读取添加到json的属性,例如:以下JSON {"operation":"write-attribute","address":[{"subsystem":"web"},{"connector":"http"}],"name":"socket-binding","value":"jndi"}
中的'name'和'value'。
由于这些方法是通用的,我只能依赖于硬编码名称和值 - 其他json字符串可能包含应该被“捕获”的其他属性。
@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");
}
此代码适用于Jackson 1.7.4,但在1.9.3中未能设置additionalProperties。 我没有看到这是一个预期的变化,还是它是一个回归。
如果是预期的更改 - 是否有人知道如何“修复”我的代码再次使用?
答案 0 :(得分:1)
对我来说听起来像是潜在的错误 - 最简单的方法是向用户列表发送问题,或者提交Jira。我可以做后者,看看能否看到会发生什么。