jsonを文字列からfloat64にdecoded float64 in go
float64値を含むjson文字列を解析すると、値がストリングとして格納されると課題を引き起こす可能性があります。この問題に対処するために、GOは簡単なソリューションを提供します。エラー:
json:string in balut of go value of type float64 このエラーは、jsonデコーダーがfloat64番号の文字列表現を直接変換しようとするために発生します。 annotation
この問題を解決するには、型変換アノテーションを使用して文字列をfloat64として扱うようにデコーダーに明示的に指示する必要があります。この注釈は、製品構造のフィールド定義に追加されます:
json: cannot unmarshal string into Go value of type float64タイプ製品struct { 名前文字列 価格float64 `json:"、string "` }
the "、string"タグは、jsonデコーダーに、価格フィールドがfloat64に変換するべき文字列であることを伝えます。 輸入 ( 「エンコード/json」 「FMT」 )) タイプ製品struct { 名前文字列 価格float64 `json:"、string "` } func main(){ s:= `{" name ":" Galaxy Nexus "、" Price ":" 3460.00 "}` var pro製品 err:= json.unmarshal([] byte(s)、&pro) err == nil { fmt.printf( "%v \ n"、pro) } それ以外 { fmt.println(err) fmt.printf( "%v \ n"、pro) } }
予想出力:
このコードを実行すると、予想される出力が生成されます:
json: cannot unmarshal string into Go value of type float64{name:galaxy nexus価格:3460}
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3