Jackon ObjectMapper转换为LinkedHashMap而不是必需的类

时间:2018-02-17 16:09:32

标签: java json jackson deserialization

我有一个用于反序列化的Class(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<SecondClass> params

如何解决此问题?

1 个答案:

答案 0 :(得分:-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);

}