code: func (p *Number) UnmarshalJSON(b []byte) error {
  	var tmp rawNumber
  	if err := json.Unmarshal(b, &tmp); err != nil {
  		return err
  	}
  	*p = Number(tmp)
  	return p.Validate()
  }
docs: //
  // UnmarshalJSON for Number
  //