猿问

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

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

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

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


白衣非少年
浏览 274回答 1
1回答

慕少森

例如,package mainimport (    "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.godata:  ["a","b","c","d"]slice: ["a" "b" "c" "d"]$
随时随地看视频慕课网APP

相关分类

Go
我要回答