使用@JsonPropperty提取具有相同前缀的键的值列表

时间:2018-11-08 10:08:31

标签: java json spring jackson

对于此JSON:

distinct cname

我想使用@JsonProperty和Jackson将值“ a”和“ b”加载到列表中。我尝试过:

{"key.a": "a", "key.b": "b"}

但是它不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用JsonAnySetter批注,该批注将在setter方法上映射任何未知的 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;
}

另一种解决方案是也实现自定义JsonSerializerJsonDeSerializer