var sesssion SessionData
err := c.Bind(&data)

type SessionData struct {
    UserId   int      `json:"user_id" form:"user_id"`
    Login    string   `json:"login_date,omitempty" form:"login_date"`
    Logout   string   `json:"logout_date,omitempty" form:"logout_date"`
    AppOpen  []string `json:"app_open_dates,omitempty" form:"app_open_dates"`
    AppClose []string `json:"app_close_dates,omitempty" form:"app_open_dates"`
}

AppOpen and AppClose seems to be empty after binding.

My test request body is (app_close_dates%5B%5D=asfd&app_close_dates%5B%5D=qeqwe&app_open_dates%5B%5D=3&app_open_dates%5B%5D=5&login_date=qqq&logout_date=yyy

Result is sessiondata--> {52 qqq yyy [] []}

Comment From: thellimist

Silly mistake.

The key should be form:"app_open_dates[]" not form:"app_open_dates"

Comment From: thekashifmalik

Is this documented somewhere? I could not find any information at https://gin-gonic.com/docs/examples/binding-and-validation/