Read a slice from a json file in golang
14,266
For example,
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)
}
Output:
$ cat data.json
["a","b","c","d"]
$ go run data.go
data: ["a","b","c","d"]
slice: ["a" "b" "c" "d"]
$
Related videos on Youtube
Author by
XXX
Updated on June 04, 2022Comments
-
XXX over 1 year
How do I read a slice from a
json
file in golang? For example, the filedata.json
looks like this:["a","b","c","d"]
I have tried using
ioutil.ReadFile
to do this, but this returns a string, not a slice. How can I read my slice?
NOTE: You can sub the brackets[]
for braces{}
I have done this using structs, but I don't want the user to have to type in this complicated json stuff-
XXX over 7 yearsIt doesn't have to be json. I just want it to work :)
-
XXX over 7 yearsFixed it! Is it good now?
-
-
OneOfOne over 7 yearsYou probably should mention using
json.NewDecoder
if the file is large since it'd be more efficient.