Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Unmarshal String-encoded Integers dalam Go?

Bagaimana untuk Unmarshal String-encoded Integers dalam Go?

Barbara Streisand
Lepaskan: 2024-11-12 00:46:03
asal
1062 orang telah melayarinya

How to Unmarshal String-encoded Integers in Go?

Menyahmarshal Integer Berekod Rentetan dalam Go

Apabila cuba menyahmarshal JSON dengan nilai rentetan ke dalam medan integer, seseorang mungkin menghadapi ralat: "json: tidak boleh menyahmarshal rentetan ke dalam nilai Go jenis int64." Ini kerana JSON unmarshaling secara lalai menganggap jenis berangka, seperti int64, harus mengandungi aksara berangka.

Isu:
Struktur Go yang mentakrifkan medan int64 sedang menerima JSON dengan yang sepadan medan dikodkan sebagai rentetan. Ketidakpadanan dalam jenis data ini menyebabkan proses unmarshaling gagal.

Penyelesaian:
Penyelesaian yang disyorkan ialah menggunakan teg ",string" dalam tag struct json untuk medan integer . Ini mengarahkan proses unmarshaling untuk menerima nilai rentetan jenis:

type tySurvey struct {
   Id   int64  `json:"id,string,omitempty"`
   Name string `json:"name,omitempty"`
}
Salin selepas log masuk

Pelaksanaan:
Dengan struct yang diubah suai, data JSON dengan medan id yang dikodkan sebagai rentetan kini boleh berjaya menyahkodkan ke dalam objek Go jenis tySurvey.

Nota:
Adalah penting untuk diingat bahawa menyatakan pengabaian dalam teg tidak akan membenarkan rentetan kosong dinyahkod. omitempty digunakan secara eksklusif untuk tujuan pengekodan.

Atas ialah kandungan terperinci Bagaimana untuk Unmarshal String-encoded Integers dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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