在這種情況下,您有一個包含浮點數的 JSON 字串,需要將其解碼為 Golang 結構體。由於傳入的浮點數字串表示形式與結構中的 float64 類型不匹配,首次解碼嘗試失敗。
要解決此問題,需要指示 JSON 解碼器將字串值解釋為一個 float64。這可以透過將 ,string 標籤新增至結構定義中的 Price 欄位來實現:
type Product struct { Name string Price float64 `json:",string"` }
透過此修改,解碼器將成功將字串表示形式轉換為 float64 值。更新後的 Golang 程式碼:
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) } }
執行此更新後的程式碼現在將輸出所需的結果:
{Name:Galaxy Nexus Price:3460}
以上是如何在 Go 中處理 JSON 字串到 Float64 的轉換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!