【发布时间】:2019-06-21 11:01:59
【问题描述】:
我有一个类似的 HTML 表单:
<input name="email"type="email" />
<input name="password"type="password" />
<input name="tags[name][]"type="text" />
<input name="tags[count][]"type="number" />
<input name="tags[name][]"type="text" />
<input name="tags[count][]"type="number" />
<input name="tags[name][]"type="text" />
<input name="tags[count][]"type="number" />
<input name="freeword[]"type="text" />
<input name="freeword[]"type="text" />
我想Bind()这个表格和我的struct一样:
type UserFrom struct {
Email string `json:"email" form:"email" query:"email"`
Password string `json:"password" form:"password" query:"password"`
Tags []Tag
Free []string `json:"freeword[]" form:"freeword[]" query:"freeword[]"`
}
type Tag struct {
Name string `json:"tags[name][]" form:"tags[name][]" query:"tags[name][]"`
Count string `json:"tags[count][]" form:"tags[count][]" query:"tags[count][]"`
}
但如果我在POST 之后打印Bind() 的结果,我有:
u := new(UserFrom)
if err = c.Bind(u); err != nil {
return
}
log.Println(u)
这个糟糕的输出:
&{email@mail.tld pwdpwdpwd [] [word1 word2]}
UserFrom 结构中的行 Tags []Tag 不起作用
如果你尝试将 Tags []Tag 更改为 Tags Tag 我有一个很好的最后一个条目
&{email@mail.tld pwdpwdpwd {tag3 3} [word1 word2]}
我想要这个输出:
&{email@mail.tld pwdpwdpwd [{tag1 1} {tag2 2} {tag3 3}] [word1 word2]}
你知道这个问题吗?
【问题讨论】:
标签: go