我嘗試從回應中獲取資料,我怎樣才能得到一個簡單的呼叫并在之后輸出,例如fmt.Println(rate)應該導致的速率1.170228
// Response
{
"rates":{
"EURUSD":{
"rate":1.170228,
"timestamp":1532428704963}
},
"code":200
}
// Request
https://www.freeforexapi.com/api/live?pairs=EURUSD
uj5u.com熱心網友回復:
使用http 包獲取資源,將JSON回應解碼為 Go 值,訪問 rate 欄位:
r, err := http.Get("https://www.freeforexapi.com/api/live?pairs=EURUSD")
if err != nil {
log.Fatal(err)
}
defer r.Body.Close()
if r.StatusCode != 200 {
log.Fatalf("status = %v", r.StatusCode)
}
var v struct {
Code int
Rates map[string]struct{ Rate float64 }
}
if err := json.NewDecoder(r.Body).Decode(&v); err != nil {
log.Fatal(err)
}
fmt.Println(v.Rates["EURUSD"].Rate)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/488169.html
上一篇:計算表中兩個日期之間的金額
下一篇:擴展類中未定義箭頭函式
