Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menetapkan Nilai Lalai untuk Medan JSON yang Hilang dalam Go?
Menyesuaikan JSON Parsing Default dalam Go
Apabila menghuraikan JSON dalam Go, memberikan nilai lalai kepada medan yang tidak ada boleh meningkatkan manipulasi data. Begini cara anda boleh mencapainya menggunakan pakej pengekodan/json atau memanfaatkan pustaka Go luaran.
Menggunakan pengekodan/json
Pakej pengekodan/json menawarkan penyelesaian yang mudah . Daripada menghantar struct kosong kepada json.Unmarshal, anda boleh memulakannya dengan nilai lalai. Contohnya:
type Test struct { A string "a" B string "b" C string } example := []byte(`{"A": "1", "C": "3"}`) out := Test{} err := json.Unmarshal(example, &out) if err != nil { panic(err) } fmt.Printf("%+v", out)
Menggunakan Perpustakaan Luaran
Jika pakej pengekodan/json tidak memenuhi keperluan anda sepenuhnya, terdapat perpustakaan Go luaran yang menyediakan JSON yang dipertingkatkan fungsi menghurai. Satu pilihan yang popular ialah perpustakaan go-json, yang membolehkan anda menentukan nilai lalai untuk medan yang tiada menggunakan teg struct.
import ( "encoding/json" "github.com/go-json" ) type Test struct { A string `json:"a,omitempty"` B string `json:"b,omitempty"` C string `json:"c,omitempty"` } example := []byte(`{"A": "1", "C": "3"}`) out := Test{ DefaultA: "a", DefaultB: "b", DefaultC: "c", } err := json.Unmarshal(example, &out) if err != nil { panic(err) } fmt.Printf("%+v", out)
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menetapkan Nilai Lalai untuk Medan JSON yang Hilang dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!