Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyahmarshal Data JSON dengan Kunci dan Nilai Tidak Diketahui dalam Go?

Bagaimana untuk Menyahmarshal Data JSON dengan Kunci dan Nilai Tidak Diketahui dalam Go?

Patricia Arquette
Patricia Arquetteasal
2024-12-01 09:34:11654semak imbas

How to Unmarshal JSON Data with Unknown Keys and Values in Go?

Menyahmarshaling Data JSON dari Format Tidak Diketahui

Apabila bekerja dengan muatan JSON, mungkin sukar untuk mengendalikan data dengan format yang tidak diketahui. Keadaan ini timbul apabila kunci dan nilai dalam struktur JSON tidak dipratakrifkan. Untuk menangani perkara ini, Go menawarkan beberapa pendekatan untuk membongkar format yang tidak diketahui.

Dalam data JSON yang disediakan, kunci mewakili mata pelajaran dan nilainya ialah tatasusunan gred pelajar. Untuk membongkar data ini dengan berkesan, kami boleh menggunakan teknik berikut:

Pilihan 1: Menggunakan antara muka[rentetan]peta{}

Jika kunci tidak diketahui sepenuhnya, anda boleh menggunakan peta[rentetan]antara muka{} untuk menyahmarshal muatan JSON. Kaedah ini mencipta peta dengan kekuncinya adalah rentetan dan nilainya ialah antara muka yang mewakili data yang belum tersusun.

var grades map[string]interface{}

err := json.Unmarshal([]byte(jsonString), &grades)

Pilihan 2: Menggunakan Struktur Tersuai

Jika anda mempunyai struktur khusus yang anda mahu mewakili data, anda boleh membuat struct tersuai dan mengabaikan kunci yang tidak diketahui semasa unmarshaling menggunakan json:"-" tag. Medan Gred dalam struct GradeData akan mengandungi data yang tidak dimarshalkan sebagai peta[rentetan] antara muka{}.

type GradeData struct {
    Grades map[string]interface{} `json:"-"`
}

gradesData := GradeData{}
err := json.Unmarshal([]byte(jsonString), &gradesData.Grades)

Dengan menggunakan salah satu pendekatan ini, anda boleh menyahmarshal data JSON dengan format yang tidak diketahui dengan berkesan dan mengakses data dalam Go. Adalah penting untuk memilih kaedah yang paling sesuai dengan keperluan permohonan anda.

Atas ialah kandungan terperinci Bagaimana untuk Menyahmarshal Data JSON dengan Kunci dan Nilai Tidak Diketahui dalam Go?. 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