// NVD JSON feed parser. package feed import ( "encoding/json" "github.com/pablotron/cvez/cvss" ) // CVSS vector type Vector struct { // CVSS vector Vector cvss.Vector } // Unmarshal CVSS vector from JSON. func (me *Vector) UnmarshalJSON(b []byte) error { // decode string, check for error var s string if err := json.Unmarshal(b, &s); err != nil { return err } // parse vector vec, err := cvss.NewVector(s) if err != nil { return err } // save result me.Vector = vec // return success return nil } // Marshal CVSS vector to JSON. func (me Vector) String() string { return me.Vector.String() } // Marshal CVSS vector to JSON. func (me Vector) MarshalJSON() ([]byte, error) { return json.Marshal(me.String()) }