2016-10-10 10 views

答えて

0

結果を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 
1

方法One()は、クエリを実行し、結果の引数に最初に取得した文書をアンマーシャリングし、それはとにかく元帥をやっているが、我々は「トリック」はタイプjson.RawMessageを使用できるよう単なるスライスであり、stdライブラリにあります。

var result json.RawMessage 

if err := c.Find(query).One(&result); err != nil { ... } 

RawMessageについて完全な例があります。hereです。

+0

ありがとうございます、これは構造体に入れるよりも遅く思える、私はそれが速かっただろうと思った。 – P456678

関連する問題