Go是一門編程語言,提供了用于解析JSON的標準庫包。當我們需要從字符串中解析出JSON數據時,使用Go非常方便。
首先,我們需要將JSON數據存儲在一個字符串變量中。然后,我們使用標準庫包中的json
包來解析JSON字符串。
// 定義JSON字符串 var jsonData = `{ "name": "小明", "age": 18, "grade": "初三", "scores": [ {"subject": "數學", "score": 98}, {"subject": "語文", "score": 88} ] }` // 定義結構體 type Student struct { Name string Age int Grade string Scores []Score } type Score struct { Subject string Score int } // 解析JSON字符串 var student Student err := json.Unmarshal([]byte(jsonData), &student) if err != nil { log.Fatal(err) } fmt.Println("姓名:", student.Name) fmt.Println("年齡:", student.Age) fmt.Println("年級:", student.Grade) fmt.Println("成績:") for _, score := range student.Scores { fmt.Println(score.Subject, ":", score.Score) }
在上面的代碼中,我們首先定義了一個JSON字符串,其中包含有一個學生的基本信息和兩個科目的成績。
然后,我們定義兩個結構體Student
和Score
,分別表示一個學生和一個科目成績的信息。
接著,我們使用json.Unmarshal()
函數來解析JSON字符串,最后將解析出的數據存儲在定義的Student
變量中。
最后,我們輸出解析出的學生信息和科目成績的成績。
總之,在Go中解析JSON字符串非常方便,只需要使用標準庫包中的json
包和Unmarshal()
函數即可。