在Golang的Web開(kāi)發(fā)中,我們經(jīng)常需要將json數(shù)據(jù)解析成Golang的數(shù)據(jù)結(jié)構(gòu)。本文將介紹如何使用Golang對(duì)json進(jìn)行解析。
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
jsonStr := `{"name":"John Doe","age":30}`
var p Person
err := json.Unmarshal([]byte(jsonStr), &p)
if err != nil {
fmt.Println("解析Json失敗:", err)
return
}
fmt.Println(p.Name)
fmt.Println(p.Age)
}
首先,我們需要導(dǎo)入encoding/json庫(kù)。Person結(jié)構(gòu)體中的“`json:"name"`”和“`json:"age"`”是標(biāo)簽,指定在json中對(duì)應(yīng)的字段名。
在main函數(shù)中,我們定義了一個(gè)json字符串,和一個(gè)Person結(jié)構(gòu)體對(duì)象p。json.Unmarshal函數(shù)將json解析成p對(duì)象,它的第一個(gè)參數(shù)是json字符串的字節(jié)切片,第二個(gè)參數(shù)是被解析的對(duì)象的指針。如果解析失敗,將返回一個(gè)錯(cuò)誤,我們可以通過(guò)判斷錯(cuò)誤來(lái)處理錯(cuò)誤情況。解析成功后,我們可以打印出p對(duì)象的姓名和年齡。
以上就是對(duì)golang解析json的介紹。使用簡(jiǎn)單,適用于Web開(kāi)發(fā)。
上一篇mysql分隔