如何从golang中的json
文件中读取切片?例如,文件data.json
如下所示:
["a","b","c","d"]
我尝试使用ioutil.ReadFile
来执行此操作,但这会返回一个字符串,而不是切片。我怎样才能看到我的切片?
注意:您可以为括号[]
添加括号{}
我使用结构来完成这个,但我不希望用户必须输入这个复杂的json东西
答案 0 :(得分:5)
例如,
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
)
func main() {
data, err := ioutil.ReadFile("data.json")
if err != nil {
fmt.Println(err)
return
}
fmt.Print("data: ",string(data))
var slice []string
err = json.Unmarshal(data, &slice)
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("slice: %q\n",slice)
}
输出:
$ cat data.json
["a","b","c","d"]
$ go run data.go
data: ["a","b","c","d"]
slice: ["a" "b" "c" "d"]
$