首頁 > 後端開發 > Golang > 如何在 Go 中高效解析單一 JSON 值?

如何在 Go 中高效解析單一 JSON 值?

Susan Sarandon
發布: 2024-12-16 04:34:12
原創
306 人瀏覽過

How Can I Efficiently Parse Single JSON Values in Go?

Go 中高效的JSON 單值解析

在Python 中,從JSON 物件存取特定值非常簡單,如提供的所示例如:

res = res.json()
return res['results'][0] 
登入後複製

但是,Go 需要更詳細的方法來聲明結構體並將JSON解組到其中:

type Quotes struct {
    AskPrice string `json:"ask_price"`
}

quote := new(Quotes)
errJson := json.Unmarshal(content, &quote)
if errJson != nil {
    return "nil", fmt.Errorf("cannot read json body: %v", errJson)
}
登入後複製

為了在Go 中更簡單,請考慮將JSON 解碼為map[string]interface{} 並透過其鍵存取所需的值:

func main() {
    b := []byte(`{"ask_price":"1.0"}`)
    data := make(map[string]interface{})
    err := json.Unmarshal(b, &data)
    if err != nil {
            panic(err)
    }

    if price, ok := data["ask_price"].(string); ok {
        fmt.Println(price)
    } else {
        panic("wrong type")
    }
}
登入後複製

雖然映射提供了靈活性,但由於其顯式類型聲明,結構仍然更可取。它們透過消除類型斷言的需要來簡化程式碼。

以上是如何在 Go 中高效解析單一 JSON 值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板