【问题标题】:Jackon ObjectMapper Converts into LinkedHashMap instead of required classJackon ObjectMapper 转换为 LinkedHashMap 而不是必需的类
【发布时间】:2018-02-17 16:09:31
【问题描述】:

我有一个用于反序列化的类(FirstClass):

 FirstClass {

String getStr();
void setSrt (String str);

List<SecondClass> getParams();
void setParams(List<SecondClass> params);

}

SecondClass {

String getStrTwo();
void setStrTwo(String strTwo);
}

对于 ArrayList 的反序列化响应,我正在使用下一件事:

  CollectionType type = mapper.getTypeFactory().constructCollectionType(ArrayList.class, FirstClass.class);

  List<T> result = mapper.readValue(response.getSpringResponse().getBody(), type);

得到最正确的 ArrayList 结果, 但在调用期间 result.getParams() 我正在使用

获取 LinkedHashMap 数据

[ "srtTwo" , "valueFromResponse"]

数据而不是ArrayList&lt;SecondClass&gt; params

如何解决这个问题?

【问题讨论】:

    标签: java json jackson deserialization


    【解决方案1】:

    注解@JsonDeserialize( as = ArrayList.class, contentAs = SecondClass.class) 为我工作。

     FirstClass {
    
    String getStr();
    void setSrt (String str);
    
    @JsonDeserialize(
                as = ArrayList.class,
                contentAs = SecondClass.class
        )
    List<SecondClass> getParams();
    void setParams(List<SecondClass> params);
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 2014-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多