2016-06-17 3 views
0

エンドポイントからのデータをアンマーシャリングするとき、私はほとんどの場合、自分がアンマーシャリングする要求から取得したいデータを持つ構造体を持っています。私に戻ってくるすべてのものを見たい時がありますが、私はそのデータのいくつかがわからないので、私の構造体でそれを定義する方法がわかりません。私はそれを指定することなく、非整列化されているすべてのデータを取得できる構造体を持つ方法がありますか? 任意の構造体へのデータのアンマーシャリング

この

は私が仕事だろうと思ったが、それは、例を参照してください場合

resp, err := httpClient.Get("/api/stuff") 
data, _ := ioutil.ReadAll(resp.Body) 

var myStruct struct{} 
json.Unmarshal(data, myStruct) 

答えて

1

structを定義する方法がわからない場合は、おそらく、use a map. unm JSONを呼び出すあなたは、少なくともあなたのアプリケーション処理する方法のいくつかのアイデアを与える必要があり、各データの文字列名を持つ

func parseJSON(r *http.Request) (map[string]interface{}, error) { 
    var postData interface{} 
    decoder := json.NewDecoder(r.Body) 
    err := decoder.Decode(&postData) 
    if err != nil { 
     return nil, err 
    } 

    return postData.(map[string]interface{}), nil 
} 

:ここであなたが受けている正確にどのようなデータを知らなくても、それを行う方法の例です。それ。

関連する問題