我有org.bson.Document对象,我需要检索一些属性并将它们转换为JSON(String)。
public String example(Document doc){
Object obj = doc.get("key");
// the object can be a string, long, document, arrayList...
// I need to return a JSON String
return obj.toString();
}
有没有什么简单的方法可以在不使用"实例"的情况下实现这一点?"get"的结果是一个对象,它可以是ArrayList、String、Long、Document。。。
编辑:到目前为止,我取得的最好成绩是这样的。。。
public String example(Document doc){
Object obj = new JSONObject(doc.toJson()).opt("key");
return obj!=null ? obj.toString():"";
}
它有效,但我认为它有一些开销,有更好的方法吗?
谢谢;-)
这是如何将Document转换为JSONObject:
Document doc = ...;
JSONObject object = new JSONObject(doc.get("key", Map.class));
然后你可以得到字符串:
object.toJSONString()