]>
Commit | Line | Data |
---|---|---|
c680a8e1 RS |
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 | } |