code: func (q *Quantity) UnmarshalJSON(value []byte) error {
  	str := string(value)
  	parsed, err := ParseQuantity(strings.Trim(str, `"`))
  	if err != nil {
  		return err
  	}
  	// This copy is safe because parsed will not be referred to again.
  	*q = *parsed
  	return nil
  }
docs: // UnmarshalJSON implements the json.Unmarshaller interface.