【问题标题】:rest template serialize/deserialize Map objects with variosu key , value pairsrest 模板序列化/反序列化 Map 对象与 variosu 键,值对
【发布时间】:2012-04-16 07:56:19
【问题描述】:

我正在使用带有 jackson 的 resttemplate 来编组/解组 java/json 对象。 序列化/反序列化的最佳策略是什么

可能包含键值对的 Map,键是字符串,值可以 是各种类型,例如自定义对象的 ArrayList

我在这个网站上做了一些研究,发现@JsonAnyGetter @JsonAnySetter 的用法 可以在这种情况下使用,但不确定如何在上下文中反序列化 resttemplate 的 getforobject 方法。是否必须编写自定义 httpmessageconverter 完成反序列化? 提前致谢。

【问题讨论】:

    标签: json jackson resttemplate


    【解决方案1】:

    我们假设您的回复如下:

    { key1: "something", key2: 3}
    

    您需要一个包含这些字段的 DTO:

    class CustomResponse {
        private String key1;
        private long key2;
    }
    

    确保为上述内容添加 getter 和 setter。

    现在提出您的要求:

    restTemplate.postForObject(url, requestObject, CustomResponse.class);
    

    请求对象可以是上述的 DTO,也可以只使用数组和映射来构造 requestObject。

    您应该将此注释添加到您的响应 DTO。这可确保如果响应中的某些字段未映射到您的 DTO 中,它们将被忽略。

    @JsonIgnoreProperties(ignoreUnknown = true)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-14
      • 2013-12-04
      • 1970-01-01
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多