Rumah > pembangunan bahagian belakang > Golang > Bagaimana Mengendalikan Nilai Null Apabila Menghuraikan Data JSON int64 dalam Go?

Bagaimana Mengendalikan Nilai Null Apabila Menghuraikan Data JSON int64 dalam Go?

Patricia Arquette
Lepaskan: 2024-11-30 15:38:14
asal
190 orang telah melayarinya

How to Handle Null Values When Parsing int64 JSON Data in Go?

JSON Penghuraian int64 dalam Go: Mengendalikan Nilai Null

Dalam Go, menghuraikan data JSON yang mengandungi nilai integer jenis int64 boleh memberikan cabaran apabila menghadapi nilai nol. Apabila menemui nilai null, pakej JSON lalai melemparkan ralat kerana ketidakupayaan untuk menyahmarshal null ke dalam int64.

Nullable int64 Type untuk JSON Parsing

Untuk mengatasi ini had, jenis int64 yang boleh dibatalkan diperlukan. Int64 yang boleh dibatalkan membenarkan sama ada nilai nil atau nilai int64 yang sah. Dengan menggunakan penuding dalam Go, kami mencapai kefungsian ini:

type NullableInt64 *int64
Salin selepas log masuk

Apabila menggunakan penuding untuk jenis, ia boleh sama ada nil atau merujuk nilai int64.

Pelaksanaan

Memasukkan jenis int64 nullable ke dalam jenis yang lebih awal contoh:

package main

import (
    "encoding/json"
    "fmt"
)

var d = []byte(`{ "world":[{"data": 2251799813685312}, {"data": null}]}`)

type jsonobj struct{ World []World }
type World struct{ Data *int64 } // Using *int64 for nullable int64

func main() {
    var data jsonobj
    jerr := json.Unmarshal(d, &data)
    fmt.Println(jerr)
}
Salin selepas log masuk

Pengubahsuaian ini membolehkan penghurai JSON berjaya mengendalikan nilai nol dalam medan "data" tanpa menghadapi ralat.

Atas ialah kandungan terperinci Bagaimana Mengendalikan Nilai Null Apabila Menghuraikan Data JSON int64 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