У меня есть форма 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][]"`
}
Но если я напечатаю результатBind()
после POST
у меня есть:
u := new(UserFrom)
if err = c.Bind(u); err != nil {
return
}
log.Println(u)
Этот плохой вывод:
&{email@mail.tld pwdpwdpwd [] [word1 word2]}
Строка Tags []Tag
в UserFrom
struct не работает
Если вы попытаетесь изменить Tags []Tag
на Tags Tag
, у меня будет хорошая последняя запись
&{email@mail.tld pwdpwdpwd {tag3 3} [word1 word2]}
Я хочу этот вывод:
&{email@mail.tld pwdpwdpwd [{tag1 1} {tag2 2} {tag3 3}] [word1 word2]}
У вас есть представление о проблеме?
Echo Doc to Bind ()