将 Gson 的 JsonObject 保存为没有 Members 对象的纯 Json 到 mongoDB
Posted
技术标签:
【中文标题】将 Gson 的 JsonObject 保存为没有 Members 对象的纯 Json 到 mongoDB【英文标题】:Saving Gson's JsonObject to mongoDB as plain Json without Members object 【发布时间】:2018-04-27 06:27:37 【问题描述】:我正在使用 Gson 库将 JsonString 转换为 JsonObject 并将其保存到 MongoDB。我正在使用带有 mongoDB 的 springboot 应用程序,我的预期结果是直接在数据库中保存为普通 Json 对象。
预期:
"id": 1,
"name": "FirstName",
"data":
"dataArrayObject":
"ItemName": "Item1"
保存到数据库时,保存如下
实际:
"members":
"id":
"value": 1,
"_class": "com.google.gson.JsonPrimitive"
,
"members":
"name":
"value": "FirstName",
"_class": "com.google.gson.JsonPrimitive"
,
"dataArrayObject":
"members":
"ItemName":
"value": "Item1",
"_class": "com.google.gson.JsonPrimitive"
,
"_class": "com.google.gson.JsonPrimitive"
【问题讨论】:
提供您的保存数据代码 mongoTemplate.insert(jsonObject, COLLECTION_NAME); 尝试保存纯 JSON 字符串 我的要求是直接在DB中保存为JSON 【参考方案1】:你可以试试这个。在我使用toString()
方法转换为字符串后,我在mongodb中得到了预期的json。
mongoTemplate.save("collectionName", jsonObject.toString());
【讨论】:
以上是关于将 Gson 的 JsonObject 保存为没有 Members 对象的纯 Json 到 mongoDB的主要内容,如果未能解决你的问题,请参考以下文章
Gson:直接将String转换为JsonObject(无POJO)
如何将我的 JsonObject (com.google.gson.JsonObject) 转换为 GenericRecord (org.apache.avro.generic.GenericReco