[英]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.