json.go 467 B

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