将Gson的JsonObject保存为mongoDB,作为没有Members对象的普通Json

时间:2017-11-14 10:37:38

标签: json mongodb spring-boot gson mongotemplate

我正在使用Gson Library将JsonString转换为JsonObject并将其保存到MongoDB。我正在使用带有mongoDB的springboot应用程序,我期望的结果是直接在数据库中保存为普通的Json对象。

预期:

    {
  "id": 1,
  "name": "FirstName",
  "data": {
    "dataArrayObject": {
      "ItemName": "Item1"
    }
  }
}

保存到DB时保存如下

实际

      {
  "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"
    }
  }
}

1 个答案:

答案 0 :(得分:0)

您可以尝试一下。使用toString()方法转换为字符串后,我在mongodb中获得了预期的json。

 mongoTemplate.save("collectionName", jsonObject.toString());