ホームページ > バックエンド開発 > 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 のデコード

このシナリオでは、Golang 構造体にデコードする必要がある float 数値を含む JSON 文字列があります。デコードの最初の試みは、受信した浮動小数点数の文字列表現と構造体の float64 型の間の不一致が原因で失敗します。

これを解決するには、文字列値を次のように解釈するように JSON デコーダに指示する必要があります。 float64。これは、構造体定義の Price フィールドに ,string タグを追加することで実現できます。

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート