diff --git a/subscribe/message.go b/subscribe/message.go index 86f1d10..5d1a346 100644 --- a/subscribe/message.go +++ b/subscribe/message.go @@ -44,15 +44,15 @@ func (st TargetType) String() string { return targetTypeID[st] } -func (st TargetType) MarshalJSON() ([]byte, error) { - value, ok := targetTypeID[st] +func (st *TargetType) MarshalJSON() ([]byte, error) { + value, ok := targetTypeID[*st] if !ok { return nil, fmt.Errorf("Invalid EnumType[%s] value", st) } return json.Marshal(value) } -func (st TargetType) UnmarshalJSON(b []byte) error { +func (st *TargetType) UnmarshalJSON(b []byte) error { // unmarshal as string var s string err := json.Unmarshal(b, &s) @@ -64,6 +64,6 @@ func (st TargetType) UnmarshalJSON(b []byte) error { if !ok { return fmt.Errorf("Invalid EnumType[%s] value", s) } - st = value + st = &value return nil }