【问题标题】:Extract a List of values for keys with the same prefix using @JsonPropperty使用 @JsonPropperty 提取具有相同前缀的键的值列表
【发布时间】:2018-11-08 10:08:30
【问题描述】:

对于这个 JSON:

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

我想使用@JsonProperty 和Jackson 将值“a”和“b”加载到List。我试过了:

@JsonProperty("key.*")
List<String> values;

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

【问题讨论】:

    标签: java json spring jackson


    【解决方案1】:

    您可以在 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;
    }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-12
      • 2022-12-16
      • 1970-01-01
      • 1970-01-01
      • 2021-06-13
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多