Gestion du JSON non structuré avec des structures Go (duplicata)
Dans le contexte de la gestion des réponses JSON non structurées avec des clés arbitraires, il est possible de créer des Go structs pour s'adapter à cette structure de données dynamique.
Considérez le JSON fourni réponse :
{ "items": [ { "name": "thing", "image_urls": { "50x100": [ { "url": "http://site.com/images/1/50x100.jpg", "width": 50, "height": 100 }, { "url": "http://site.com/images/2/50x100.jpg", "width": 50, "height": 100 } ], "200x300": [ { "url": "http://site.com/images/1/200x300.jpg", "width": 200, "height": 300 } ], "400x520": [ { "url": "http://site.com/images/1/400x520.jpg", "width": 400, "height": 520 } ] } } ] }
Pour gérer ces données, une carte peut être utilisée pour représenter les clés arbitraires, comme suggéré par la réponse fournie :
type Items map[string][]ImageUrl
Items est maintenant une structure Go avec une carte comme champ. Les clés de la carte représentent les tailles d'image dynamiques, tandis que les valeurs sont des listes de structures ImageUrl, représentant les métadonnées d'image individuelles.
Cette approche permet un accès facile aux images en fonction de leurs tailles. Par exemple, pour obtenir la liste des images pour "50x100" :
item := Items{"thing": {}} item["50x100"]
Cette approche fournit une solution flexible pour gérer les données JSON non structurées avec des clés arbitraires, vous permettant de les désorganiser directement dans les structures Go.
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!