Jackson Array序列化和反序列化

时间:2015-02-13 07:48:39

标签: java json serialization jackson deserialization

我的杰克逊字符串如下,

{
"Response":{
   "users":[{"userId":"1", "userName":"User 1"},{"userId":"2", "userName":"User 1"}]
}
}

My classes are following,

public class Response {
   private List<User> users;
// getters and setters
}

public class User{
 private String userId;
 private String userName;

//getters and setters
}

当我试图从上面的json字符串中获取java对象时。它给了我一个跟随错误。知道如何解决这个问题吗?

com.fasterxml.jackson.databind.JsonMappingException:意外的令牌(START_ARRAY),预期的START_OBJECT:需要JSON对象来包含类的As.WRAPPER_OBJECT类型信息

1 个答案:

答案 0 :(得分:0)

您需要再添加一个类包装器:

class ResponseJson {
   @JsonProperty("Response")
   private Response response;
   // getters, setters 
}

你还需要这个注释@JsonPropery,因为jackson在大写字段名称细节方面存在一些问题:https://github.com/swagger-api/swagger-codegen/issues/249