如何在 "pretty" 文本中查看 mgo 的 bson.Raw
How to view mgo's bson.Raw in "pretty" text
我希望能够将从 golang 的 mgo 库获取的原始 bson 数据输出到控制台以进行调试,但一直无法找到如何完成此操作。
对于 JSON 我是这样做的:
formatedData, err := json.MarshalIndent(rawData, "", " ")
if err != nil {
log.Print(err)
}
fmt.Printf("%s", formatedData)
BSON 是否有等效的方法?
bson 是一种二进制格式,它只是一个字节片段。它本身是人类不可读的,因为这种格式包含有关字段长度等的信息,并且所有数据都非常紧凑。它已经被编码,所以不需要编组它。
你可以原样输出,但是会读不出来
在此处查看 bson 规范:http://bsonspec.org/#/specification
如果您想查看 bson 的所有内容,可以将其解组到地图中:
m := map[string]interface{}{}
rawData.Unmarshal(&m)
fmt.Printf("%+v\n", m)
我希望能够将从 golang 的 mgo 库获取的原始 bson 数据输出到控制台以进行调试,但一直无法找到如何完成此操作。
对于 JSON 我是这样做的:
formatedData, err := json.MarshalIndent(rawData, "", " ")
if err != nil {
log.Print(err)
}
fmt.Printf("%s", formatedData)
BSON 是否有等效的方法?
bson 是一种二进制格式,它只是一个字节片段。它本身是人类不可读的,因为这种格式包含有关字段长度等的信息,并且所有数据都非常紧凑。它已经被编码,所以不需要编组它。
你可以原样输出,但是会读不出来
在此处查看 bson 规范:http://bsonspec.org/#/specification
如果您想查看 bson 的所有内容,可以将其解组到地图中:
m := map[string]interface{}{}
rawData.Unmarshal(&m)
fmt.Printf("%+v\n", m)