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

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

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
dzx1015 回答:转换具有单个混合数据类型数组的单个字符串

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

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

如果该数组中有多种数据类型,则可以使用字符串数组来实现,需要接口{}数组:

var convertedData []interface{}
json.Unmarshal([]byte(str),&convertedData)

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

本文链接:https://www.f2er.com/3115075.html

大家都在问