func isEmptyValue(i interface{}) bool {
	switch v := i.(type) {
	case []interface{}:
		return len(v) == 0
	case []string:
		return len(v) == 0
	case map[string]interface{}:
		return len(v) == 0
	case bool:
		return !v
	case float64:
		return v == 0
	case int64:
		return v == 0
	case string:
		return v == ""
	case nil:
		return true
	default:
		panic(fmt.Sprintf("Found unexpected type %T in json unmarshal (value=%v)", i, i))
	}
}
func isEmptyValue(i interface{}) bool {
	switch v := i.(type) {
	case []interface{}:
		return len(v) == 0
	case []string:
		return len(v) == 0
	case map[string]interface{}:
		return len(v) == 0
	case bool:
		return !v
	case float64:
		return v == 0
	case int64:
		return v == 0
	case string:
		return v == ""
	case nil:
		return true
	default:
		panic(fmt.Sprintf("Found unexpected type %T in json unmarshal (value=%v)", i, i))
	}
}
func isEmptyValue ( i interface { } ) bool { switch v := i . ( type ) { case [ ] interface { } : return len ( v ) == 0 case [ ] string : return len ( v ) == 0 case map [ string ] interface { } : return len ( v ) == 0 case bool : return ! v case float64 : return v == 0 case int64 : return v == 0 case string : return v == " " case nil : return true default : panic ( fmt . Sprintf ( " " , i , i ) ) } }
// See also feature request for golang reflect pkg at
See also feature request for golang reflect pkg at