如何从BSON对象获取可读字符串

时间:2017-12-20 10:10:18

标签: java mongodb bson

我有一个RuntimeException对象,我希望将其转化为可读的内容。

我已经尝试过使用Mongo JSON util,但我得到了com.mongodb.client.model.Filters$AndFilter s,说它无法序列化类型Bson query = ... String json = com.mongodb.util.JSON.serialize(query);

"Exception in thread "main" java.lang.ClassCastException: java.util.ArrayList$Itr cannot be cast to newpackage.Book";

这告诉我一些关于BSON结构的信息,但我还是希望以某种方式让它具有可读性。

1 个答案:

答案 0 :(得分:6)

您可以使用toBsonDocumentBson个实例转换为BsonDocument,然后使用BsonDocument.toJson()

例如......

Bson bson = Filters.eq("name", "Bob");

BsonDocument asBsonDocument = bson.toBsonDocument(BsonDocument.class, 
    MongoClient.getDefaultCodecRegistry());

System.out.println(asBsonDocument.toJson());

...将打印:

{ "name" : "Bob" }