【问题标题】:Mongo Java: How to serialize DBObject as JSON on file?Mongo Java:如何将 DBObject 序列化为文件中的 JSON?
【发布时间】:2012-07-23 01:57:05
【问题描述】:

我在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文件?

【问题讨论】:

    标签: java json mongodb mongo-java


    【解决方案1】:

    看来BasicDBObject's toString()方法返回的是对象的JSON序列化。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        我使用 BasicDBObject 的 toString() 和 GSON 库的组合来获得 pretty-printed 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)));
        

        【讨论】:

        • 非常好!抛开示例对象的创建,您将拥有一个 2-liner,它可以完美地完成漂亮的打印工作。
        猜你喜欢
        • 1970-01-01
        • 2018-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多