從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中文網其他相關文章!