【问题标题】:Jackson Databind - get properties not specified in pojoJackson Databind - 获取 pojo 中未指定的属性
【发布时间】:2015-02-12 23:10:42
【问题描述】:

我正在尝试弄清楚如何将 json 绑定到 POJO

json 有时会根据不同的条件包含其他字段。基本上 - json 的某些部分将始终包含相同的属性,

例如:姓名和年龄。但有时我会得到 shoeSize 和/或 eyeColor。我无法列出可以传递给我的所有可能属性,因为其中一些属性是由用户定义的。

有没有可能实现这样的目标?

class MyClass 
{
    public String name;
    public Integer age;
    public Map<String, String> additionalArguments;
    public MyClass(...) {...}
}

【问题讨论】:

    标签: java jackson


    【解决方案1】:

    在查看文档后(再次)我找到了名为 JsonAnySetter 的注释并处理还原注释 JsonAnyGetter

    class MyClass 
    {
        public String name;
        public Integer age;
        public Map<String, String> additionalArguments = new HashMap<>();
        public MyClass(...) {...}
    
        @JsonAnyGetter
        public Map<String,Object> getAdditionalProperties() {
           return additionalProperties;
        }
    
        @JsonAnySetter
        public void putAdditionalProperty(String name, Object value) {
            additionalProperties.put(name, value);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2022-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 2012-12-17
      • 2020-03-26
      • 2021-02-15
      • 1970-01-01
      相关资源
      最近更新 更多