如何在Jackson中以数组开头反序列化JSON文件?

前端之家收集整理的这篇文章主要介绍了如何在Jackson中以数组开头反序列化JSON文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Json文件,如下所示:
[
    { "field":"val" },....
]

我有Java对象表示单个对象和它们的集合:

public class Objects{

    public Collection<List> myObject;
}

我想使用ObjectMapper反序列化JSON.

ObjectMapper mapper = new ObjectMapper();
mapper.readValue(in,Objects.class);

但我得到:

11-24 23:19:19.828: W/UpdateService(6084): org.codehaus.jackson.map.JsonMappingException: 
Can not deserialize instance of com.project.my.Objects out of START_ARRAY token

解决方法

尝试
mapper.readValue(in,ObjectClass[].class);

ObjectClass类似于:

public class ObjectClass {
    String field;

    public ObjectClass() { }

    public void setField(String value) {
      this.field = value;
    }
  }

注意:在您发布的Object类的版本中,您正在声明一个列表集合(即列表列表),这不是您想要的.你可能想要一个List< ObjectClass>.但是,当您使用Jackson进行反序列化时,只需要执行YourObject [].类,然后将其转换为列表就简单得多.

猜你在找的JavaScript相关文章