2017-05-18 56 views
2

我正在研究Golang中的API Rest。我使用Gorm,所以我有代表數據庫表的結構。在創建我收到一個帶有值的表單,但現在我不知道如何將所有值分配給結構,因爲我有一個有500個字段的表格,我不能一個一個地分配任務,我是這樣doint:將表單值分配給Golang中的結構

json.NewDecoder(req.Body).Decode(&myobject) 

但是,我不得不接受一個JSON,客戶端發送給我一個表單。那麼,我怎樣才能以一種乾淨可讀的方式分配這些值呢?

+1

最簡潔的方法是可能放棄解碼請求主體,並將值直接放入結構中。 –

+0

回答了,但是,我不得不問......在世界上你是如何得到一張500列的桌子? – Adrian

+1

查看[binding](https://github.com/mholt/binding)庫,旨在解決此問題 – nothingmuch

回答

4

沒有將multipart/form-data主體解組到結構中的內置方法。但是,執行確實會自動將表格數據解析爲Request.Form中的map[string][]string,您可以用簡單的循環將其轉換爲map[string]string。然後,您可以使用反射將其轉移到結構中,也可以使用庫如mapstructuregorilla/schema