Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menyahmarshal Tatasusunan JSON dengan Jenis Data Campuran dalam Go?

Bagaimana untuk Menyahmarshal Tatasusunan JSON dengan Jenis Data Campuran dalam Go?

Barbara Streisand
Lepaskan: 2024-11-24 03:52:09
asal
774 orang telah melayarinya

How to Unmarshal JSON Arrays with Mixed Data Types in Go?

Menyahmarshalling JSON Arrays with Mixed Data Types

Tugas menyahmarshalling JSON arrays mengandungi nilai jenis data yang berbeza selalunya boleh menimbulkan cabaran. Sebagai contoh, pertimbangkan tatasusunan JSON berikut:

{["NewYork",123]}
Salin selepas log masuk

Isu:

Pertama sekali, adalah penting untuk ambil perhatian bahawa JSON yang disediakan tidak betul dari segi sintaksis. Objek JSON memerlukan kunci untuk setiap nilai, jadi perwakilan yang betul ialah sama ada {"key":["NewYork",123]} atau hanya ["NewYork",123].

Tambahan pula, apabila berurusan dengan JSON tatasusunan terdiri daripada pelbagai jenis data, masalah timbul apabila tatasusunan Go memerlukan jenis tertentu. Ini boleh membuatkan anda tertanya-tanya cara mengendalikan situasi sedemikian.

Penyelesaian:

Kunci untuk menangani isu ini ialah menggunakan antara muka jenis{}. Ia membolehkan anda mengendalikan nilai pelbagai jenis tanpa memerlukan penukaran jenis eksplisit. Berikut ialah contoh kod yang menunjukkan cara ia berfungsi:

import (
    "encoding/json"
    "fmt"
)

const j = `{"NYC": ["NewYork",123]}`

type UntypedJson map[string][]interface{}

func main() {
    ut := UntypedJson{}
    fmt.Println(json.Unmarshal([]byte(j), &ut))
    fmt.Printf("%#v", ut)
}
Salin selepas log masuk

Dalam contoh ini, kami menggunakan UntypedJson sebagai jenis tersuai yang memetakan rentetan kepada kepingan antara muka{}. Dengan menggunakan jenis antara muka{}, kami boleh mengendalikan jenis data bercampur dalam tatasusunan JSON dengan mudah.

Output program ialah:

<nil>
map[string][]interface{}{"NYC": \["NewYork" 123]}
Salin selepas log masuk

Kesimpulan:

Dengan memanfaatkan jenis antara muka{}, pendekatan ini membolehkan anda menyahmarshal tatasusunan JSON dengan pelbagai data dengan berkesan jenis.

Atas ialah kandungan terperinci Bagaimana untuk Menyahmarshal Tatasusunan JSON dengan Jenis Data Campuran dalam Go?. 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