diff --git a/slices/map.go b/slices/map.go index 7f04eeeed..b395c45cd 100644 --- a/slices/map.go +++ b/slices/map.go @@ -47,17 +47,17 @@ func (m Map) Value() (driver.Value, error) { // UnmarshalJSON will unmarshall JSON value into // the map representation of this value. -func (m Map) UnmarshalJSON(b []byte) error { +func (m *Map) UnmarshalJSON(b []byte) error { var stuff map[string]interface{} err := json.Unmarshal(b, &stuff) if err != nil { return err } - if m == nil { - m = Map{} + if *m == nil { + *m = Map{} } for key, value := range stuff { - m[key] = value + (*m)[key] = value } return nil }