【发布时间】:2014-07-08 14:58:58
【问题描述】:
我有一个格式如下的 jsonarray:
String jsonArray = {"myList":[{"code":"01","price":"2,3", "date":"21/12/2014"},{"code":"02","price":"3,4", "date":"26/12/2014"}]}
我的列表类是:
public class MyList {
private String code;
private String price;
private String date;
//..getter and setter
}
我的非工作“反序列化器”如下:
ObjectMapper objectMapper = new ObjectMapper();
List<MyList> list = new ObjectMapper().readValue(jsonArray, new TypeReference<List<MyList>>() { });
捕获以下异常:
org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token
我该如何解决? 提前致谢!
【问题讨论】:
-
我想说你必须将
"myList"的值传递给映射器而不是根对象 - 或者可能是根对象加上提取"myList"的信息(我不知道Gson 很好)。 -
已解决,看我的解决方案,希望是最佳实践
标签: java json list mapping deserialization