繁体   English   中英

Java 从 JSON 转换为对象列表

[英]Java convert to a list of objects from JSON

I am using Java 7. I also use com.fasterxml.jackson.databind.objectmapper to convert json to a Java object.

当我最初将 Java object 转换为 JSON 时,我执行以下操作:

List<QuoteDTO> selectedQuoteDTOs = ...
String jsonSelectedQuoteDTOs = mapper.writeValueAsString(selectedQuoteDTOs);

当我将 JSON 转换回 JAVA object 时,我执行以下操作:

List<QuoteDTO> selectedQuoteDTOs = mapper.readValue(jsonSelectedQuoteDTOs, List.class);

但是selectedQuoteDTOs不是QuoteDTO类型,而是LinkedHashMap类型。

导致我收到以下错误:

java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.abc.model.QuoteDTO

当我这样做时:

for (QuoteDTO selectedQuoteDTO : selectedQuoteDTOs) {

问题

将 JSON 转换为 JAVA 时,如何将 object 转换为List<QuoteDTO>而不是List<LinkedHashMap>

LinkedHashMap键是QuoteDTO成员变量的名称。

尝试这个。 这应该做的工作

ObjectMapper mapper = new ObjectMapper();
List<QuoteDTO> selectedQuoteDTOs = mapper.readValue(jsonSelectedQuoteDTOs, new TypeReference<List<QuoteDTO>>(){});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM