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)的变通办法可以解决问题.

上一篇:一例·C语言连接mongodb并创建文档,插入记录


下一篇:编译 thrift-0.14.2 的 C++ 版本