首页 > 后端开发 > Golang > 如何在 Go 中处理 JSON 字符串到 Float64 的转换?

如何在 Go 中处理 JSON 字符串到 Float64 的转换?

Susan Sarandon
发布: 2025-01-04 21:22:43
原创
858 人浏览过

How to Handle JSON String to Float64 Conversion in Go?

使用 Float64 类型转换解码 JSON

在这种情况下,您有一个包含浮点数的 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板