code: func (piType *PropertyItemType) UnmarshalJSON(data []byte) error {
  	singleString := ""
  	singleErr := json.Unmarshal(data, &singleString)
  	if singleErr == nil {
  		piType.Scalar = singleString
  		return nil
  	}
  	var stringArray []string
  	sliceErr := json.Unmarshal(data, &stringArray)
  	if sliceErr == nil {
  		piType.MultiValues = stringArray
  		return nil
  	}
  	return fmt.Errorf("Failed to unmarshal type: " + sliceErr.Error())
  }
docs: // UnmarshalJSON does the custom unmarshalling