Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Memetakan Rentetan kepada Pelbagai Jenis dalam Objek Go JSON?

Bagaimana untuk Memetakan Rentetan kepada Pelbagai Jenis dalam Objek Go JSON?

Barbara Streisand
Lepaskan: 2024-12-14 12:05:11
asal
718 orang telah melayarinya

How to Map Strings to Diverse Types in Go JSON Objects?

Memetakan Rentetan kepada Pelbagai Jenis dalam Objek JSON

Dalam Go, peta memerlukan penetapan jenis kunci dan nilainya secara eksplisit. Apabila berurusan dengan objek JSON, yang membenarkan pasangan nilai kunci jenis arbitrari, sekatan ini menimbulkan halangan.

Soalan:

Bagaimanakah kita boleh mencipta peta yang boleh ditukar menjadi objek JSON dalam bentuk { "a": "apple", "b": 2 }, di mana kunci dan nilai boleh daripada jenis yang berbeza?

Jawapan:

Go menyediakan penyelesaian melalui jenis{} antara mukanya, yang boleh menyimpan nilai apa-apa jenis. Menurut dokumentasi pakej pengekodan/json, apabila menyahmarshaling JSON ke dalam antara muka{}, peraturan berikut digunakan:

  • Nilai Boolean disimpan sebagai bool.
  • Nombor disimpan sebagai float64 .
  • String disimpan sebagai rentetan.
  • Array disimpan sebagai []antara muka{}.
  • Objek disimpan sebagai peta[rentetan]antara muka{}.
  • Nilai null disimpan sebagai sifar.

Untuk menggunakan ini, kita hanya boleh mencipta peta[rentetan]antara muka{} dan mengisinya dengan nilai pelbagai jenis:

m := map[string]interface{}{"a":"apple", "b":2}
Salin selepas log masuk

Peta ini kini boleh dengan mudah ditukar menjadi objek JSON dengan menyusunnya menggunakan fungsi json.Marshal().

Atas ialah kandungan terperinci Bagaimana untuk Memetakan Rentetan kepada Pelbagai Jenis dalam Objek Go JSON?. 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