如何使用mongo-go-driver有效地将bson转换为json?
在MongoDB Go驱动程序中,可以使用bson.MarshalExtJSON
函数将BSON转换为扩展JSON格式。以下是一个简单的示例:
import (
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/bson/bsontype"
)
func bsonToJSON(b []byte) ([]byte, error) {
var val interface{}
err := bson.Unmarshal(b, &val)
if err != nil {
return nil, err
}
return bson.MarshalExtJSON(val, true, false)
}
在此示例中,我们首先使用bson.Unmarshal
将BSON数据解码为一个未知类型的值。然后,我们将此值传递给bson.MarshalExtJSON
函数,并设置第一个参数为true
以格式化输出。第二个参数设置为false
以省略空字段。
通过这种方式,我们可以将BSON数据转换为JSON格式,以便在需要时可以更轻松地处理它们。