1 package semver 2 3 import ( 4 "encoding/json" 5 ) 6 7 // MarshalJSON implements the encoding/json.Marshaler interface. 8 func (v Version) MarshalJSON() ([]byte, error) { 9 return json.Marshal(v.String()) 10 } 11 12 // UnmarshalJSON implements the encoding/json.Unmarshaler interface. 13 func (v *Version) UnmarshalJSON(data []byte) (err error) { 14 var versionString string 15 16 if err = json.Unmarshal(data, &versionString); err != nil { 17 return 18 } 19 20 *v, err = Parse(versionString) 21 22 return 23 } 24