1
有沒有辦法直接從mgo結果到JSON字節數組,而無需首先序列化到一片結構?直接從mgo結果流到json沒有反序列化結構在去
有沒有辦法直接從mgo結果到JSON字節數組,而無需首先序列化到一片結構?直接從mgo結果流到json沒有反序列化結構在去
將結果解碼爲interface{}
。將interface{}
編碼爲JSON。
var v interface{}
if err := c.Find(query).One(&v); err != nil {
// handle error
}
p, err := json.Marshal(v)
if err != nil {
// handle error
}
// p is []byte containing the JSON
的方法One()與文檔根據:執行查詢並解組第一獲得的文檔到結果參數,所以它反正做元帥,但我們可以「欺騙」,它使用的類型json.RawMessage那只是一部分字節,它在std庫中。
var result json.RawMessage
if err := c.Find(query).One(&result); err != nil { ... }
關於RawMessage有一個完整的示例here。
謝謝,這似乎比把它放入一個結構更慢,我認爲它會更快。 – P456678