books.json
{
"books": [{
"Name": "看不见的城市",
"author": ["卡尔维诺"]
},
{
"Name": "红楼梦",
"author": ["曹雪芹", "高鹗"]
}
]
}
read_json_from_file.go
package main
import (
"encoding/json"
"fmt"
"os"
)
type Book struct {
Name string `json:"Name"`
Author []string `json:"author"`
}
type Books struct {
Books []Book `json:"books"`
}
func main() {
filePtr, err := os.Open("books.json")
if err != nil {
fmt.Println(err)
return
}
var books Books
decoder := json.NewDecoder(filePtr)
err = decoder.Decode(&books)
if err != nil {
fmt.Println("Decoder failed", err.Error())
} else {
fmt.Println(books.Books)
}
}