繁体   English   中英

将任何属性从 org.bson.Document 转换为 JSON

[英]Convert any attribute from org.bson.Document to JSON

我有 org.bson.Document 对象,我需要检索一些属性并将它们转换为 JSON(字符串)。

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、一个字符串、一个长整数、一个文档......

编辑:到目前为止,我取得的最好成绩是这样的......

public String example(Document doc){
    Object obj = new JSONObject(doc.toJson()).opt("key");
    return obj!=null ? obj.toString():"";
}

它有效,但我认为它有一些开销,有没有更好的方法?

谢谢 ;-)

这是将文档转换为 JSONObject 的方法:

Document doc = ...;
JSONObject object = new JSONObject(doc.get("key", Map.class));

然后你可以得到字符串:

object.toJSONString()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM