微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MongoDB转换回Java对象时出现“ NumberLong / $numberLong”问题

我有一个像{“ Header”:{“ name”:“ TestData”,“ contactNumber”:8019071740}}这样的json

如果我将其插入到mongoDB中,它将类似于

{“ _id”:ObjectId(“ 58b7e55097989619e4ddb0bb”),“ Header”:{“ name”:“ TestData”,“ contactNumber”:NumberLong(8019071743)}

当我读回此数据并尝试使用Gson转换为Java对象时,它会引发异常com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:期望很长,但在行1列109路径$.Header.contactNumber处为BEGIN_OBJECT

我发现this,但是我想知道我是否具有非常复杂的json结构,那么我可能需要以这种方式来操纵许多json节点.

有谁对此有更好的选择吗?

编辑:1
我正在阅读查询和转换json如下

Document Mongodocument = mycollection.find(searchCondition);
String resultJson =  Mongodocument.toJson();
Gson gson = new Gson();
Model model= gson.fromJson(resultJson, ItemList.class);

解决方法:

看一下:converting Document objects in MongoDB 3 to POJOS

我有同样的问题. com.mongodb.util.JSON.serialize(document)的变通办法可以解决问题.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐