我正在努力从Go for API的BSON文档创建有效的JSON字符串。 假设我有一个这样的对象:
type myobject struct {
Name string
}
我调用数据库,该数据库向我返回一个包含许多文档的游标,例如:[{"Name": "object_name"},...]
我能够通过
这样的循环来检索所有文档for cur.Next(ctx) {
var obj myobject
err := cur.Decode(&obj)
//then display error if there's one
}
现在我想以一个JSON字符串结尾,该字符串包含数据库返回的所有文档以通过HTTP发送。
因为,如果我使用fmt.Println(obj)
,则会得到类似以下的内容:[{object1_name} {object2_name} ...]
,根据我的说法,这不是我可以用于API的有效格式。
我知道json.Marshal(obj)
实际上可以编码为有效JSON,并且可以使用os.Stdout.Write(obj)
对其进行解码,但是我没有设法将此有效字符串存储在变量中。我该如何做到这一点?