Lorsque vous travaillez avec des charges utiles JSON, il peut être difficile de gérer des données avec un format inconnu. Cette situation se produit lorsque les clés et les valeurs au sein de la structure JSON ne sont pas prédéfinies. Pour résoudre ce problème, Go propose plusieurs approches pour démêler les formats inconnus.
Dans les données JSON fournies, les clés représentent les sujets et les valeurs sont des tableaux de notes des étudiants. Pour analyser efficacement ces données, nous pouvons utiliser les techniques suivantes :
Option 1 : Utilisation de l'interface map[string]{}
Si les clés sont entièrement inconnues, vous peut utiliser une map[string]interface{} pour désorganiser la charge utile JSON. Cette méthode crée une carte où les clés sont des chaînes et les valeurs sont des interfaces représentant les données non marshalées.
var grades map[string]interface{} err := json.Unmarshal([]byte(jsonString), &grades)
Option 2 : Utiliser une structure personnalisée
Si vous avez une structure spécifique dans laquelle vous souhaitez représenter les données, vous pouvez créer une structure personnalisée et ignorer les clés inconnues lors du démarshalage à l'aide de la balise json:"-" . Le champ Notes dans la structure GradeData contiendra les données non marshalées sous forme d'interface map[string]{}.
type GradeData struct { Grades map[string]interface{} `json:"-"` } gradesData := GradeData{} err := json.Unmarshal([]byte(jsonString), &gradesData.Grades)
En utilisant l'une ou l'autre de ces approches, vous pouvez efficacement désorganiser les données JSON de format inconnu et accéder au données dans Go. Il est important de choisir la méthode qui correspond le mieux aux exigences de votre candidature.
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!