go - 转换具有单个混合数据类型数组的单个字符串

标签 go

如何转换其中包含单个字符串数组的单个字符串。

func main() {
  stringArrayInString := "[\"Hello\",\"Hai\",\"How are you!\"]" //Single string which has string array in it
    fmt.Println(stringArrayInString)

 // code to convert to the string array
 // convertedString
}

输出必须是这样的
convertedString[0] = "Hello"
convertedString[1] = "Hai"
convertedString[2] = "How are you!"

如果上述输入字符串具有混合数据类型(例如int,string,JSON类型),是否可以
例如
stringArrayInString := "[\"Hello\",\"{\"msg\":\"Hai\"}\",123]"

//after converting

convertedString[0] = "Hello"
convertedString[1] = "{\"msg\":\"Hai\"}"
convertedString[2] = 123

最佳答案

您拥有的字符串数组是有效的JSON数组,因此您可以执行以下操作:

var convertedString []string
json.Unmarshal([]byte(str),&convertedString)

如果该数组中有多种数据类型,则可以使用字符串数组来实现,需要一个interface {}数组:
var convertedData []interface{}
json.Unmarshal([]byte(str),&convertedData)

然后,您需要检查该数组中各个元素的类型以找出它们的含义。

关于go - 转换具有单个混合数据类型数组的单个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58824719/

相关文章:

go - 雨果没有按修改日期排序帖子

go - 如何配置 krakend.json 转发参数化 url?

c - 在 C 语言中使用 Go slice

go - 检查所有 goroutine 是否已完成而不使用 wg.Wait()

go - 如何增加 golang.org/x/crypto/ssh 的详细程度

go - 尝试在 GO 中安装 StackImpact 库时出错

go - Cloud-Run 进程失败,出现 500 状态代码和 membarrier gvisor 错误

go - 使用 go 解析嵌套的 JSON

mongodb - 了解 Golang 上下文超时

xml - 具有相同标签的 Golang XML 创建