【发布时间】:2011-05-22 11:54:30
【问题描述】:
我正在尝试使用 Jackson 将一些 JSON 数据转换为 Java 对象,准确地说是对象列表,但我收到此错误:
org.codehaus.jackson.map.JsonMappingException:无法反序列化 entitylayer.Detail 的实例,超出 START_ARRAY 令牌
这是代码:
ObjectMapper mapper = new ObjectMapper();
List<Detail> lcd = (List<Detail>) mapper.readValue(ld, Detail.class);
ld 是 Json 格式的列表,这是 jackson tutorial 中让我感到困惑的部分。 new File("user.json") 代表什么?我认为这是我要转换的 json 格式的字符串,这就是我使用 ld 的原因。
希望你能帮帮我
【问题讨论】:
-
来自 javadoc:注意:如果结果类型是容器(Collection 或 Map),则不应使用此方法。原因是由于类型擦除,key 和 value 类型不能自省使用这种方法。
-
@OrangeDog- 那我应该用什么?