diff --git a/api/types.go b/api/types.go index 0441a799..6a82ab49 100644 --- a/api/types.go +++ b/api/types.go @@ -218,13 +218,15 @@ func (opts *Options) FromMap(m map[string]interface{}) error { if field.IsValid() && field.CanSet() { switch field.Kind() { case reflect.Int: - // when JSON unmarshals numbers, it uses float64 by default, not int - val, ok := val.(float64) - if !ok { + switch t := val.(type) { + case int64: + field.SetInt(t) + case float64: + // when JSON unmarshals numbers, it uses float64, not int + field.SetInt(int64(t)) + default: log.Printf("could not convert model parmeter %v to int, skipped", key) - continue } - field.SetInt(int64(val)) case reflect.Bool: val, ok := val.(bool) if !ok {