色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

go解析第三方接口json數(shù)據(jù)

吉茹定2年前8瀏覽0評論

Go語言的json包可以對JSON數(shù)據(jù)進(jìn)行編碼、解碼和操作,適用于第三方API接口的數(shù)據(jù)解析。我們可以使用http包發(fā)送HTTP請求并獲取數(shù)據(jù),然后使用json.Unmarshal函數(shù)解析JSON數(shù)據(jù)。

func fetch(url string) ([]byte, error) {
resp, err := http.Get(url)
if err != nil {
return nil, err
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return nil, err
}
return body, nil
}
type Data struct {
ID             int    `json:"id"`
Name           string `json:"name"`
Age            int    `json:"age"`
Address        string `json:"address"`
}
func parseJSON(data []byte) ([]Data, error) {
var d []Data
err := json.Unmarshal(data, &d)
if err != nil {
return nil, err
}
return d, nil
}
func main() {
url := "http://example.com/api/users"
data, err := fetch(url)
if err != nil {
log.Fatal(err)
}
users, err := parseJSON(data)
if err != nil {
log.Fatal(err)
}
for _, u := range users {
fmt.Printf("ID: %d\nName: %s\nAge: %d\nAddress: %s\n\n", u.ID, u.Name, u.Age, u.Address)
}
}

在這個示例中,我們使用fetch函數(shù)獲取API數(shù)據(jù),然后使用parseJSON函數(shù)解析JSON數(shù)據(jù)到Data結(jié)構(gòu)體數(shù)組中。Data結(jié)構(gòu)體的字段被標(biāo)記為JSON標(biāo)記,以便在解析時將JSON鍵映射到結(jié)構(gòu)體字段。

最后,我們可以使用for循環(huán)遍歷解析的數(shù)據(jù)并打印出結(jié)果。當(dāng)然,您可以根據(jù)需要進(jìn)行更改和自定義。