code: func interfaceToString(data interface{}) string {
  	if data == nil {
  		return ""
  	}
  	switch data.(type) {
  	case string:
  		return data.(string)
  	case []interface{}:
  		interfaceArr := data.([]interface{})
  		results := []string{}
  		for _, v := range interfaceArr {
  			results = append(results, interfaceToString(v))
  		}
  		return "[" + strings.Join(results, ",") + "]"
  	default:
  		return fmt.Sprintf("%v", data)
  	}
  }
docs: // interfaceToString converts interface type to string.
  //
  // We can't simply do this using type casting.
  // example :
  // 1. string type, result would be string
  // 2. []interface{} type, result would be array of string. ex: a,b,c
  // Please add other type as needed.