Maison > développement back-end > Golang > le corps du texte

Comment puis-je dégrouper les formats JSON inconnus dans Go ?

Susan Sarandon
Libérer: 2024-11-26 05:54:18
original
368 Les gens l'ont consulté

How Can I Unmarshal Unknown JSON Formats in Go?

Démarrer les données JSON de format inconnu

Introduction

Vos données JSON suivent un format inconnu, ce qui présente un défi de démarchage dans une structure GoLang. Cet article vous guidera à travers les étapes pour gérer efficacement ce scénario.

Démarrer avec l'interface map[string]{}

Puisque vous ne connaissez pas les clés de avancez, vous pouvez utiliser map[string]interface{} pour désorganiser votre charge utile JSON. Cela vous permet de stocker les paires clé-valeur sous forme de carte sans spécifier les types de valeurs.

var grades map[string]interface{}

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

fmt.Printf("%#v\n", grades)
Copier après la connexion

Cela affichera les données JSON sous la forme d'une carte imbriquée de chaînes vers les interfaces, ce qui peut être utile pour inspecter et traiter les données de manière dynamique.

Utilisation de json :"-" Tag

Vous pouvez exclure certains champs du marshaling/unmarshaling JSON à l'aide de la balise json:"-". Cela peut être utile si vous souhaitez garder certaines données privées ou éviter les références circulaires.

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

var gradesData GradeData
err := json.Unmarshal([]byte(jsonString), &gradesData.Grades)
fmt.Println(err)

fmt.Printf("%#v\n", gradesData)
Copier après la connexion

Dans cet exemple, le champ Notes ne sera pas inclus dans la représentation JSON de notesData, mais il pourra toujours être utilisé pour stocker et récupérer les données JSON.

Conclusion

En utilisant map[string]interface{} et le json:"-" tag, vous pouvez réussir à désorganiser les données JSON de format inconnu dans des structures GoLang. Cette approche vous permet de gérer avec élégance les structures JSON dynamiques et inconnues.

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!

source:php.cn
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