json.go

 1package semver
 2
 3import (
 4	"encoding/json"
 5)
 6
 7// MarshalJSON implements the encoding/json.Marshaler interface.
 8func (v Version) MarshalJSON() ([]byte, error) {
 9	return json.Marshal(v.String())
10}
11
12// UnmarshalJSON implements the encoding/json.Unmarshaler interface.
13func (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}