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 permettant de gérer efficacement ce scénario.
Démarrer avec map[string]interface{}
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)
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 : balise "-"
Vous pouvez exclure certains champs du marshaling/unmarshaling JSON à l'aide de l'option json : balise "-". 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)
Dans cet exemple, le champ Notes ne sera pas inclus dans la représentation JSON de notesData, mais il peut toujours être utilisé pour stocker et récupérer le JSON data.
Conclusion
En utilisant map[string]interface{} et la balise json:"-", vous pouvez réussir désorganisez les données JSON de format inconnu dans les structures GoLang. Cette approche vous permet de gérer avec élégance les structures JSON dynamiques et inconnues.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3