Maison > développement back-end > Golang > Comment désassembler des structures de données JSON inconnues dans Go ?

Comment désassembler des structures de données JSON inconnues dans Go ?

Susan Sarandon
Libérer: 2024-11-26 01:15:15
original
715 Les gens l'ont consulté

How to Unmarshal Unknown JSON Data Structures in Go?

Démarrer les données JSON de format inconnu

Le JSON fourni suit un modèle spécifique :

{
SUBJECT1: [{Student_Name1: Grade, Student_Name2: Grade, ... , Student_Name3: Grade, timestamp: Timestamp(...)}],
SUBJECT2: [{Student_Name4: Grade, Student_Name6: Grade, ... , Student_Name5: Grade, timestamp: Timestamp(...)}]
...
SUBJECTN: [{Student_Name1: Grade, Student_Name6: Grade, ... , Student_Name9: Grade, timestamp: Timestamp(...)}]
}
Copier après la connexion

Objectif : Réunissez le JSON dans une structure GoLang pour un retour en tant que JSON objet.

Solution :

Option 1 : Utilisation de l'interface map[string]{}

Puisque les clés JSON sont inconnu, nous pouvons utiliser map[string]interface{} pour désorganiser le payload.

var grades map[string]interface{}
err := json.Unmarshal([]byte(jsonString), &grades)
fmt.Println(err)
fmt.Printf("%#v\n", grades)
Copier après la connexion

Option 2 : Utiliser une structure

Si une structure est souhaitée, utilisez la balise json:"-" pour ignorer les champs lors du marshalling JSON/ déclassement.

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

err := json.Unmarshal([]byte(jsonString), &gradesData.Grades)
fmt.Println(err)
fmt.Printf("%#v\n", gradesData)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal