小编Mat*_*t M的帖子

Jackson JSON反序列化MongoDB ObjectId

好的,首先,这是从我的Web服务返回的JSON.我试图在Android ContentProvider中的ResponseHandler中进行异步查询后将其反序列化为pojos.

{"exampleList" : [{
"locationId" : "00001" , 
"owners" : [ 
  { 
    "paidID" : { "$oid" : "50a9c951300493f64fbffdb6"} , 
    "userID" : { "$oid" : "50a9c951300493f64fbffdb6"}
  } , 
  { 
    "paidID" : { "$oid" : "50a9c951300493f64fbffdb7"} , 
    "userID" : { "$oid" : "50a9c951300493f64fbffdb7"}
  } 
]
}]}
Run Code Online (Sandbox Code Playgroud)

起初,我对我看到的问题感到困惑,因为我在我的Android应用程序中使用与我的Web服务相同的Jackson注释bean - 但后来我意识到该owners对象永远不会在示例JSON中发送到我的Web服务(它跳过我的Web服务上的POJO并通过DAO的原子更新添加到mongoDB中的文档中).

那么好吧.到目前为止,杰克逊不必处理这个owners对象,现在它正在窒息,即:

JsonMappingException:无法反序列化的情况下java.lang.String进行的 START_OBJECT,在[字符位置,你可以找到令牌"userID",并"paidID"通过参考链] [路径到我的杰克逊豆含有车主类]

我的Jackson bean有一个包装器,这就是"exampleList"的全部内容:

public class Examples extends HashMap<String, ArrayList<Example>> {

}
Run Code Online (Sandbox Code Playgroud)

然后是实际的Example课程:

@JsonIgnoreProperties(ignoreUnknown = true) …
Run Code Online (Sandbox Code Playgroud)

json jackson mongo-jackson-mapper

4
推荐指数
3
解决办法
2万
查看次数

标签 统计

jackson ×1

json ×1

mongo-jackson-mapper ×1