code: 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))
  	}
  }
docs: // See also feature request for golang reflect pkg at