screen_widgets.go
func (p *PrecisionT) UnmarshalJSON(data []byte) error {
	var err error
	var precisionNum json.Number
	if err = json.Unmarshal(data, &precisionNum); err == nil {
		*p = PrecisionT(precisionNum)
		return nil
	}

	var precisionStr string
	if err = json.Unmarshal(data, &precisionStr); err == nil {
		*p = PrecisionT(precisionStr)
		return nil
	}

	var p0 PrecisionT
	*p = p0

	return err
}
func (p *PrecisionT) UnmarshalJSON(data []byte) error {
	var err error
	var precisionNum json.Number
	if err = json.Unmarshal(data, &precisionNum); err == nil {
		*p = PrecisionT(precisionNum)
		return nil
	}

	var precisionStr string
	if err = json.Unmarshal(data, &precisionStr); err == nil {
		*p = PrecisionT(precisionStr)
		return nil
	}

	var p0 PrecisionT
	*p = p0

	return err
}
func ( p * PrecisionT ) UnmarshalJSON ( data [ ] byte ) error { var err error var precisionNum json . Number if err = json . Unmarshal ( data , & precisionNum ) ; err == nil { * p = PrecisionT ( precisionNum ) return nil } var precisionStr string if err = json . Unmarshal ( data , & precisionStr ) ; err == nil { * p = PrecisionT ( precisionStr ) return nil } var p0 PrecisionT * p = p0 return err }
// UnmarshalJSON is a Custom Unmarshal for PrecisionT. The Datadog API can
// return 1 (int), "1" (number, but a string type) or something like "100%" or
// "*" (string).
UnmarshalJSON is a Custom Unmarshal for PrecisionT . The Datadog API can return 1 ( int ) 1 ( number but a string type ) or something like 100% or * ( string ) .