首頁 > 後端開發 > Golang > 解碼 JSON 時如何處理「json:無法將字串解組為 float64 類型的 Go 值」錯誤?

解碼 JSON 時如何處理「json:無法將字串解組為 float64 類型的 Go 值」錯誤?

Barbara Streisand
發布: 2024-12-31 14:15:10
原創
570 人瀏覽過

How to Handle

從String 到Float64 的型別轉換來解碼JSON

解碼包含浮點數的JSON 字串時,可能會遇到錯誤「json:無法將字串解組為float64 類型的Go 值。」當JSON解碼器嘗試自動將數字從字串轉換為 float64 類型時,就會出現此問題。

要解決此問題,您可以使用",結構體定義中的「string」標籤:

type Product struct {
    Name  string
    Price float64 `json:",string"`
}
登入後複製

透過新增此標籤,JSON 解碼器會將「price」欄位視為字串編碼的float64,從而允許在

package main

import (
    "encoding/json"
    "fmt"
)

type Product struct {
    Name  string
    Price float64 `json:",string"`
}

func main() {
    s := `{"name":"Galaxy Nexus", "price":"3460.00"}`
    var pro Product
    err := json.Unmarshal([]byte(s), &pro)
    if err == nil {
        fmt.Printf("%+v\n", pro)
    } else {
        fmt.Println(err)
        fmt.Printf("%+v\n", pro)
    }
}
登入後複製

透過此修改,程式現在可以成功解碼JSON字串,並將“price”欄位正確轉換為 float64 類型。

以上是解碼 JSON 時如何處理「json:無法將字串解組為 float64 類型的 Go 值」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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