Démarrer les données JSON de format inconnu avec des clés variables
Lorsque vous traitez des données JSON comportant des clés inconnues ou variables, il peut être difficile de définir une structure GoLang spécifique à des fins de démarchage. Cet article résout ce problème en proposant deux solutions viables.
Solution 1 : Utilisation de l'interface map[string]{}
Si vous n'avez aucune connaissance des clés présente dans la charge utile JSON, vous pouvez utiliser une carte avec une clé de chaîne et une valeur interface{} (c'est-à-dire map[string]interface{}). Cette approche permet un désorganisation dynamique des données sans nécessiter une structure prédéfinie. Par exemple :
var grades map[string]interface{} err := json.Unmarshal([]byte(jsonString), &grades) fmt.Println(err) fmt.Printf("%#v\n", grades)
Solution 2 : Utiliser une structure avec des champs ignorés
Si vous souhaitez toujours utiliser une structure mais que vous souhaitez ignorer les champs inconnus lors de la désorganisation, vous pouvez utiliser la balise json:"-" pour ces champs. Cette balise indique au décodeur JSON de ne pas prendre en compte ces champs pendant le processus. Par exemple :
type GradeData struct { Grades map[string]interface{} `json:"-"` } err := json.Unmarshal([]byte(jsonString), &gradesData.Grades) fmt.Println(err) fmt.Printf("%#v\n", gradesData)
Les deux solutions offrent une flexibilité dans la gestion des données JSON avec des clés inconnues ou variables. Cependant, pour un traitement ultérieur ou une manipulation des données, vous devrez peut-être convertir les données en types spécifiques en fonction de vos besoins.
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!