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

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

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

  1. public class Objects{
  2.  
  3. public Collection<List> myObject;
  4. }

我想使用ObjectMapper反序列化JSON.

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

但我得到:

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

解决方法

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

ObjectClass类似于:

  1. public class ObjectClass {
  2. String field;
  3.  
  4. public ObjectClass() { }
  5.  
  6. public void setField(String value) {
  7. this.field = value;
  8. }
  9. }

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

猜你在找的JavaScript相关文章