第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何從 API 獲取 JSON 并計(jì)算鴿子數(shù)量

如何從 API 獲取 JSON 并計(jì)算鴿子數(shù)量

Go
胡子哥哥 2023-08-21 14:48:10
所以我試圖從具有這種格式的 JSON 中獲取鴿子的數(shù)量。該 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"        }    ]}已經(jīng)編寫了這段從 API 獲取 JSON 的代碼,但是由于我沒有任何 Go 經(jīng)驗(yàn),你們能幫我計(jì)算這里的鴿子數(shù)量嗎?我并不關(guān)心其他鳥類的數(shù)量。package mainimport (    "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)}
查看完整描述

1 回答

?
繁星淼淼

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊

返回的 JSON 文檔中,pigeons有一個(gè)數(shù)組,看起來該數(shù)組的長度就是鴿子的數(shù)量。因此,如果您將其解組到一個(gè)接受鴿子數(shù)組的結(jié)構(gòu)體中,您可以獲得它的長度:

type pigeons struct {
   Pigeons []interface{} `json:"pigeons"`
   }

在上面,您可以將pigeons字段解組到接口數(shù)組,因?yàn)槟魂P(guān)心字段的內(nèi)容。如果需要處理內(nèi)容,則需要一個(gè)單獨(dú)的結(jié)構(gòu)并使用該結(jié)構(gòu)的數(shù)組。然后:

var p pigeons
json.Unmarshal(body, &p)
fmt.Printf("%d",len(p.Pigeons))


查看完整回答
反對 回復(fù) 2023-08-21
  • 1 回答
  • 0 關(guān)注
  • 149 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)