亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Go 中打印 JSON 文件中的值

在 Go 中打印 JSON 文件中的值

Go
慕碼人8056858 2022-01-04 10:28:51
我正在用 Go 制作一個貨幣轉換器,它下載一個 JSON 文件,然后讀取它以打印當前的貨幣匯率。我無法理解如何打印該值,我知道我必須使用 Unmarshal 但我不明白如何使用它。例如,我想打印1.4075JSON 文件中的值。這是 JSON 文件(這是從這里提取的):{"base":"GBP","date":"2016-04-08","rates":{"USD":1.4075}}這是我到目前為止所做的。package mainimport(  "encoding/json"  "fmt"  "io/ioutil")func main(){  fromCurrency:="GBP"  toCurrency:="USD"  out, err := os.Create("latest.json")  if err != nil{      fmt.Println("Error:", err)  }  defer out.Close()  resp, err := http.Get("http://api.fixer.io/latest?base=" +    fromCurrency + "&symbols=" + toCurrency)  defer resp.Body.Close()  _, err = io.Copy(out, resp.Body)  if err!= nil{      fmt.Println("Error:", err)  }}
查看完整描述

1 回答

?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

將響應解碼為與響應形狀匹配的類型。例如:


var data struct {

    Base  string

    Date  string

    Rates map[string]float64

}

if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {

    log.Fatal(err)

}

打印適當的值:


if r, ok := data.Rates["USD"]; ok {

    log.Println("Rate", r)

} else {

    log.Println("no rate")

}


查看完整回答
反對 回復 2022-01-04
  • 1 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號