Mongo Java:如何在文件中将DBObject序列化为JSON?

时间:2012-07-23 01:57:05

标签: java json mongodb mongo-java

我在MongoDB中有一个文件

name: name
date_created: date
p_vars: {
   01: {
      a: a,
      b: b,
   }
   02: {
      a: a,
      b: b,
   }
   ....
}

表示为DBObject

  • 所有keyvalue对都属于String
  • 类型
  • 我想使用Java序列化此文档,查看api,我没有找到任何内容,如何将DBObject序列化为JSON

3 个答案:

答案 0 :(得分:12)

似乎BasicDBObject's toString()方法返回对象的JSON序列化。

答案 1 :(得分:3)

看起来JSON类有一个方法可以将对象序列化为JSON(以及转发other way并解析JSON以检索DBObject)。

答案 2 :(得分:2)

我按顺序使用BasicDBObject的toString()和GSON库的组合来获得漂亮的 JSON:

    com.mongodb.DBObject obj = new com.mongodb.BasicDBObject();
    obj.put("_id", ObjectId.get());
    obj.put("name", "name");
    obj.put("code", "code");
    obj.put("createdAt", new Date());

    com.google.gson.Gson gson = new com.google.gson.GsonBuilder().setPrettyPrinting().create();

    System.out.println(gson.toJson(gson.fromJson(obj.toString(), Map.class)));