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  }