github.com/billybanfield/evergreen@v0.0.0-20170525200750-eeee692790f7/apiv3/model/string.go (about) 1 package model 2 3 import ( 4 "encoding/json" 5 ) 6 7 type APIString string 8 9 func (as *APIString) MarshalJSON() ([]byte, error) { 10 if *as == "" { 11 return []byte("null"), nil 12 } 13 str := string(*as) 14 return json.Marshal(&str) 15 } 16 17 func (as *APIString) UnmarshalJSON(data []byte) error { 18 if string(data) == "null" { 19 return nil 20 } 21 return json.Unmarshal(data, (*string)(as)) 22 }