Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menyahmarshal Rentetan JSON ke dalam Jenis Custom Go Diperoleh daripada Nilai Skalar?

Bagaimana untuk Menyahmarshal Rentetan JSON ke dalam Jenis Custom Go Diperoleh daripada Nilai Skalar?

Barbara Streisand
Barbara Streisandasal
2024-11-19 12:54:02298semak imbas

How to Unmarshal JSON Strings into Custom Go Types Derived from Scalar Values?

Bagaimanakah JSON Unmarshal Boleh Mengendalikan Jenis Nilai yang Diperoleh daripada Skalar dalam Go?

Dalam Go, nilai skalar sering digunakan untuk mewakili jenis data ringkas seperti integer dan rentetan. Jenis tersuai yang diperoleh daripada nilai skalar ini mungkin memerlukan pengendalian khas semasa pembongkaran JSON untuk memastikan pemetaan yang tepat.

Pernyataan Masalah

Laksanakan kaedah UnmarshalJSON untuk jenis tersuai yang memanjangkan integer skalar dalam Go. Matlamatnya adalah untuk menukar rentetan JSON masuk secara automatik kepada nilai jenis tersuai ini.

Penyelesaian

Untuk mengatasi batasan UnmarshalJSON mengharapkan struct, gunakan langkah berikut:

  1. Gunakan Penerima Penunjuk: Gunakan penerima penuding untuk kaedah UnmarshalJSON. Penerima nilai kehilangan perubahan apabila kaedah dikembalikan.
  2. Teks JSON Unmarshal: Nyahmarshal teks JSON untuk mendapatkan rentetan biasa, mengalih keluar sebarang petikan JSON.
  3. Cari dan Berikan: Gunakan fungsi Carian untuk mendapatkan contoh jenis tersuai berdasarkan rentetan yang dihuraikan. Berikan nilai ini kepada penerima penunjuk.

Contoh Pelaksanaan

func (intValue *PersonID) UnmarshalJSON(data []byte) error {
  var s string
  if err := json.Unmarshal(data, &s); err != nil {
    return err
  }
  *intValue = Lookup(s)
  return nil
}

Pertimbangan Tambahan

  • Pastikan konsistensi antara teg JSON dan data JSON dinyahmarshall.
  • Gunakan penunjuk untuk mengelakkan kehilangan perubahan yang dibuat semasa unmarshaling.
  • Pertimbangkan kaedah MarshalJSON tersuai jika anda ingin menyesuaikan siri JSON.

Dengan teknik ini dilaksanakan, anda boleh membongkar rentetan JSON dengan berkesan ke dalam jenis tersuai anda yang diperoleh daripada nilai skalar dalam Go.

Atas ialah kandungan terperinci Bagaimana untuk Menyahmarshal Rentetan JSON ke dalam Jenis Custom Go Diperoleh daripada Nilai Skalar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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 sebelumnya:Corak Pilihan Fungsian dalam GoArtikel seterusnya:Corak Pilihan Fungsian dalam Go