所以我试图从具有这种格式的 JSON 中获取鸽子的数量。该 JSON 包含许多鸟类类型,每种鸟类都由其颜色和最后一次接触来定义:
{
"url": "http://localhost:9001/",
"pigeons": [
{
"color": "white",
"lastContact": "2020-03-23T14:46:20.806Z"
},
{
"color": "grey",
"lastContact": "2020-03-23T14:46:20.807Z"
}
],
"parrots": [
{
"color": "green",
"lastContact": "2020-03-23T14:46:20.806Z"
}
]
}
已经编写了这段从 API 获取 JSON 的代码,但是由于我没有任何 Go 经验,你们能帮我计算这里的鸽子数量吗?我并不关心其他鸟类的数量。
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
"net/http"
"time"
)
type pigeons struct {
Number int `json:"something"`
}
func main() {
url := "http://localhost:9001"
birdsClient := http.Client{
Timeout: time.Second * 2, // Maximum of 2 secs
}
req, err := http.NewRequest(http.MethodGet, url, nil)
if err != nil {
log.Fatal(err)
}
res, getErr := birdsClient.Do(req)
if getErr != nil {
log.Fatal(getErr)
}
body, readErr := ioutil.ReadAll(res.Body)
if readErr != nil {
log.Fatal(readErr)
}
pigeons1 := pigeons{}
jsonErr := json.Unmarshal(body, &pigeons1)
if jsonErr != nil {
log.Fatal(jsonErr)
}
fmt.Println(pigeons1.Number)
}
繁星淼淼
相关分类