我有一个工作流程,其中创建一个列表并将其发送到 SQS 队列(因此必须转换为字符串),稍后由 Go 函数拾取该列表。我需要解析以下字符串化列表:
"['bucket___file1.csv___groupFile.csv___custom', 'bucket___file2.csv___groupFile.csv___modeler']"
像这样的字符串片段:
[]string{'bucket___file1.csv___groupFile.csv___custom', 'bucket___file2.csv___groupFile.csv___modeler'}
这样我就可以通过索引访问和解析它们。我该怎么做?
最佳答案
您可以将字符串转换为 json 并使用 json 解码器获取字符串数组
package main
import (
"fmt"
"encoding/json"
"strings"
)
func main() {
inputString := "['bucket___file1.csv___groupFile.csv___custom', 'bucket___file2.csv___groupFile.csv___modeler']"
// convert string to json string
jsonString := strings.ReplaceAll(inputString, "'", "\"")
var expectedStringArray []string
json.Unmarshal([]byte(jsonString), &expectedStringArray)
fmt.Println(expectedStringArray)
}
这应该可以解决您的问题
请注意,当数组字符串之一中有 '
时,上述解决方案将会失败。
对于可靠的解决方案,您可以将适当的 JSON 推送到队列,并且可以跳过我上面提供的解决方案中的转换部分。
关于Golang 将字符串化列表转换为 slice ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63585421/