code: func convertNumber(n json.Number) (interface{}, error) {
  	// Attempt to convert to an int64 first
  	if i, err := n.Int64(); err == nil {
  		return i, nil
  	}
  	// Return a float64 (default json.Decode() behavior)
  	// An overflow will return an error
  	return n.Float64()
  }
docs: // convertNumber converts a json.Number to an int64 or float64, or returns an error