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

4

我有一个在 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个回答

12

3

看起来 JSON 类有一个将对象序列化为 JSON 的方法(以及通过另一种方式解析 JSON 以检索 DBObject 的方法)。


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)));

非常好!抛开示例对象的创建,你只需要两行代码就可以完美地完成漂亮打印的工作。 - user2081279

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接