Maison >développement back-end >Golang >Comment désorganiser un objet JSON dans un tableau de structures en Go ?
Comment puis-je désorganiser le JSON suivant dans un tableau d'objets dans Go langue ?
{ "1001": {"level":10, "monster-id": 1001, "skill-level": 1, "aimer-id": 301}, "1002": {"level":12, "monster-id": 1002, "skill-level": 1, "aimer-id": 302}, "1003": {"level":16, "monster-id": 1003, "skill-level": 2, "aimer-id": 303} }
Le JSON fourni nécessite quelques modifications pour être valide, comme l'ajout de virgules entre les paires clé-valeur dans l'objet de niveau supérieur :
{ "1001":{ "level":10, "monster-id":1001, "skill-level":1, "aimer-id":301 }, "1002":{ "level":12, "monster-id":1002, "skill-level":1, "aimer-id":302 }, "1003":{ "level":16, "monster-id":1003, "skill-level":2, "aimer-id":303 } }
Pour désorganiser ce JSON dans un tableau d'objets, vous pouvez utiliser le code suivant :
type Monster struct { MonsterId int32 `json:"monster-id"` Level int32 `json:"level"` SkillLevel int32 `json:"skill-level"` AimerId int32 `json:"aimer-id"` } type MonsterCollection struct { Pool map[string]Monster } func (mc *MonsterCollection) FromJson(jsonStr string) error { var data =&mc.Pool b := []byte(jsonStr) return json.Unmarshal(b, data) }
Dans ce code :
Le retour d'erreur est utile à des fins de débogage, vous permettant de détecter des erreurs telles qu'une syntaxe JSON non valide.
Un exemple fonctionnel peut à retrouver sur le Golang Playground : http://play.golang.org/p/4EaasS2VLL.
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!