【问题标题】:Deserialize JSON property in Jackson反序列化 Jackson 中的 JSON 属性
【发布时间】:2013-06-11 18:37:52
【问题描述】:

我有一个这样的 JSON 文件:

{
    "id1" : {
       ...
    },
    "id2" : {
       ...
    }
}

我正在使用mapper.readerForUpdating(object).readValue(jsonFile) 并希望读者只读取与object 的类在注释中提供的id 对应的数据。有没有办法用“id1”或其他东西来注释object 的类,这样mapper 只会从“id1”中读取值?

【问题讨论】:

    标签: java json jackson deserialization


    【解决方案1】:

    如果您的 id1 是静态的,我可以想到一个简单的解决方案。创建一个包装类,其中包含一个对应于您想要的字段的 getter(和 setter)忽略所有其他属性,如下所示:

    @JsonProperty("id1")
    public MyBean getCustomId()
    {
         ...
    }
    
    @JsonProperty("id1")
    public void setCustomId()
    {
         ...
    }
    

    第二种选择是使用@JsonSerialize@JsonDeserialize 注释并编写您的自定义逻辑。

    【讨论】:

      猜你喜欢
      • 2012-08-19
      • 2013-04-09
      • 2020-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多