Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mengendalikan JSON String ke Penukaran Float64 dalam Go?

Bagaimana untuk Mengendalikan JSON String ke Penukaran Float64 dalam Go?

Susan Sarandon
Lepaskan: 2025-01-04 21:22:43
asal
858 orang telah melayarinya

How to Handle JSON String to Float64 Conversion in Go?

Menyahkod JSON dengan Penukaran Jenis Float64

Dalam senario ini, anda mempunyai rentetan JSON yang mengandungi nombor apungan yang perlu dinyahkodkan kepada struct Golang. Percubaan awal penyahkodan gagal disebabkan oleh ketidakpadanan antara perwakilan rentetan masuk bagi nombor apungan dan jenis float64 dalam struct.

Untuk menyelesaikan masalah ini, anda perlu mengarahkan penyahkod JSON untuk mentafsir nilai rentetan sebagai apungan64. Ini boleh dicapai dengan menambahkan tag ,string pada medan Harga dalam definisi struct:

type Product struct {
    Name  string
    Price float64 `json:",string"`
}
Salin selepas log masuk

Dengan pengubahsuaian ini, penyahkod akan berjaya menukar perwakilan rentetan kepada nilai float64. Kod Golang yang dikemas kini:

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)
    }
}
Salin selepas log masuk

Menjalankan kod yang dikemas kini ini kini akan mengeluarkan hasil yang diingini:

{Name:Galaxy Nexus Price:3460}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan JSON String ke Penukaran Float64 dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan