【发布时间】:2018-11-08 10:08:30
【问题描述】:
对于这个 JSON:
{"key.a": "a", "key.b": "b"}
我想使用@JsonProperty 和Jackson 将值“a”和“b”加载到List。我试过了:
@JsonProperty("key.*")
List<String> values;
但它不起作用。有什么想法吗?
【问题讨论】:
对于这个 JSON:
{"key.a": "a", "key.b": "b"}
我想使用@JsonProperty 和Jackson 将值“a”和“b”加载到List。我试过了:
@JsonProperty("key.*")
List<String> values;
但它不起作用。有什么想法吗?
【问题讨论】:
您可以在 setter 方法上使用 JsonAnySetter 注释,它将映射任何未知的 Json 属性:
private List<String> values = new ArrayList<>();
@JsonAnySetter
public void setValues(String key, String value) {
// You can perform a pattern validation on the key if wanted
this.values.add(value);
}
public List<String> getValues() {
return this.values;
}
另一种解决方案是实现自定义 JsonSerializer 和 JsonDeSerializer。
【讨论】: