将表单值分配给 Golang 中的结构

Sre*_*ova 3 forms json go

我正在 Golang 开发 API-Rest。我正在使用 Gorm,所以我有表示数据库表的结构。在Create 中,我收到了一个带有值的表单,但现在我怀疑如何将所有值立即分配给结构,因为我有一个包含 500 个字段的表,我不能一个一个地进行分配,我是这样做:

json.NewDecoder(req.Body).Decode(&myobject)
Run Code Online (Sandbox Code Playgroud)

但是在那里我必须接收一个 Json,而客户端正在向我发送一个表单。那么,我怎样才能以一种干净易读的方式分配这些值呢?

Adr*_*ian 7

没有将多部分/表单数据主体解组为结构的内置方法。但是,Go自动将表单数据解析为map[string][]stringin Request.Form,您可以map[string]string使用简单的循环将其转换为 a 。然后你可以使用反射将它自己转移到一个结构,或者你可以使用像mapstructuregorilla/schema这样的库。