我希望能够将我从golang的mgo库获取的原始bson数据输出到控制台以进行调试,但是无法找到如何实现此目的。
使用JSON我这样做:
formatedData, err := json.MarshalIndent(rawData, "", " ")
if err != nil {
log.Print(err)
}
fmt.Printf("%s", formatedData)
是否有与BSON相同的方法?
答案 0 :(得分:1)
bson是一种二进制格式,它只是一个字节片段。它本身不是人类可读的,因为这种格式保存有关字段长度等的信息,并且保持所有数据非常紧凑。它已经编码,所以不需要编组它。
您可以按原样输出,但它不可读。
请参阅此处的bson规范:http://bsonspec.org/#/specification
如果你想看到bson的所有内容,你可以将它解组成地图:
m := map[string]interface{}{}
rawData.Unmarshal(&m)
fmt.Printf("%+v\n", m)