Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mengendalikan Ralat Penukaran String-to-Float64 Apabila Menyahkod JSON dalam Go?

Bagaimana untuk Mengendalikan Ralat Penukaran String-to-Float64 Apabila Menyahkod JSON dalam Go?

Barbara Streisand
Lepaskan: 2024-12-25 00:39:11
asal
171 orang telah melayarinya

How to Handle String-to-Float64 Conversion Errors When Decoding JSON in Go?

Menyahkod JSON dengan Penukaran Jenis daripada String ke Float64

Di Golang, menyahkod rentetan JSON yang mengandungi nombor apungan kadangkala boleh mengakibatkan ralat apabila menggunakan jenis seperti float64. Perkara berikut menyelidiki isu tersebut dan menyediakan penyelesaian.

Pertimbangkan input JSON berikut:

{"name":"Galaxy Nexus", "price":"3460.00"}
Salin selepas log masuk

Dan jenis Go yang sepadan:

type Product struct {
    Name  string
    Price float64
}
Salin selepas log masuk

Menyahmarshall JSON menggunakan pakej json terbina dalam mungkin menghasilkan ralat:

json: cannot unmarshal string into Go value of type float64
Salin selepas log masuk

Ralat ini berlaku kerana medan harga JSON ialah rentetan, manakala medan Harga Pergi ialah float64. Untuk menyelesaikan masalah ini, maklumkan kepada penterjemah JSON bahawa medan harga ialah float64 berkod rentetan:

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

Dengan menambahkan "rentetan" pada tag json, penterjemah akan menukar harga rentetan secara automatik kepada float64 semasa penyahkodan. Menjalankan kod yang diubah suai kini akan menghasilkan output yang dijangkakan:

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

Dalam kes penukaran jenis diperlukan semasa penyahkodan JSON, menggunakan tag json dengan "rentetan" (atau penentu penukaran jenis lain) menyediakan cara yang mudah dan penyelesaian yang berkesan.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Ralat Penukaran String-to-Float64 Apabila Menyahkod JSON 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