我是新手编程,我试图解析以下格式的JSON
文件:
{
"movies": [
{
"name": "Inception",
"rating": 8.8,
"genres": [
"Action",
"Adventure",
"Sci-Fi"
]
},
{
"name": "Godfather",
"rating": 9.2,
"genres": [
"Crime",
"Drama"
]
}
]
}
使用此代码:
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
)
type Movie struct {
name string
rating float64
genres []string
}
type MovieRating struct {
movies []Movie
genre map[string]float64
}
func (mr *MovieRating) init(filename string) {
var raw interface{}
data, _ := ioutil.ReadFile(filename)
_ = json.Unmarshal(data, &raw)
tmp := raw.(map[string]interface{})["movies"]
fmt.Println(tmp)
// now I need to create an array of movies here and assign to mr.movies
}
func (mr *MovieRating) calculate_rating() {
fmt.Println("calculating")
}
func main() {
var mr MovieRating
mr.init("data.json")
mr.calculate_rating()
}
但是在解析之后我不知道如何遍历解析的对象。解析的对象是接口类型,如何解析这部电影?