我从Redis商店收到一个字符串形式的2D数组:
func main() {
client := setRedisClient()
data, err := client.Get(redisKey).Result()
// store data as a 2D slice
}
以下是数据可能的样子的示例:
[["a", "b"], ["c", "d"], ["e", "f"]]
理想情况下,我希望能够使用2D切片,因为我需要能够使用索引:
dataAsSlice := [][]string {{"a", "b"}, {"c", "d"}, {"e", "f"}}
fmt.Println(dataAsSlice[0][0]) => "a"
我还没有找到一种方法来解析来自redis的响应,并将其存储为2D切片。
我怎样才能做到这一点呢?甚至存储为2D切片是最好的方式吗?
发布于 2018-05-31 17:20:54
因为您的字符串是JSON,所以可以使用json.Unmarshal
将其转换为[][]string{}
,如下所示:
str := `[["a", "b"], ["c", "d"], ["e", "f"]]`
var dataAsSlice [][]string
err := json.Unmarshal([]byte(str), &dataAsSlice)
你可以在Go Playground上看到这一点:https://play.golang.org/p/NEpIKc9Fl-s
https://stackoverflow.com/questions/50620614
复制相似问题