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(...)}] }
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)
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)
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!