我有一个字符串: - ["a","b","c"]
。如何解析/转换为Go数组?我可以进行字符串解析,但Go中的任何开箱即用功能都是相同的。
答案 0 :(得分:4)
如何使用json.Unmarshal()
?
s := `["a","b","c"]`
var arr []string
if err := json.Unmarshal([]byte(s), &arr); err != nil {
fmt.Println("Error:", err)
}
fmt.Printf("%q", arr)
输出(在Go Playground上尝试):
["a" "b" "c"]
但是知道包json
会在引擎盖下做很多反思功夫,如果你自己编写解析,它会更快。另一方面,包json
也将处理输入中的随机空格 - 甚至是换行符和Unicode序列,就像这个(它相当于["a","b","c"]
):
s := `[ "a" , "b"
,"\u0063" ] `