从 golang 中的 json 文件中读取一个切片

Read a slice from a json file in golang

如何从 golang 中的 json 文件中读取切片?例如,文件 data.json 如下所示:

["a","b","c","d"]

我曾尝试使用 ioutil.ReadFile 来执行此操作,但此 returns 是一个字符串,而不是切片。我怎样才能阅读我的切片?
注意:您可以将方括号 [] 换成大括号 {}
我已经使用结构完成了此操作,但我不希望用户必须输入这种复杂的 json 内容

例如,

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"]
$