Maison > développement back-end > Golang > Comment puis-je gérer efficacement les réponses JSON dynamiques avec des clés imprévisibles dans Go ?

Comment puis-je gérer efficacement les réponses JSON dynamiques avec des clés imprévisibles dans Go ?

Susan Sarandon
Libérer: 2024-11-29 01:37:11
original
260 Les gens l'ont consulté

How Can I Efficiently Handle Dynamic JSON Responses with Unpredictable Keys in Go?

Mappage JSON dynamique dans Go à l'aide de Maps

Dans Go, mapper des réponses JSON dynamiques avec des clés imprévisibles peut être un défi. Cependant, l'utilisation de cartes offre une solution flexible.

Considérez la réponse JSON suivante, où les clés varient :

{
"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
}]
}
}
]
}
Copier après la connexion

Pour capturer cette nature dynamique, créez une structure basée sur une carte. Les cartes dans Go autorisent des clés et des valeurs arbitraires, ce qui les rend idéales pour ce scénario.

type Items map[string][]ImageURL
Copier après la connexion

Ici, la structure Items est une carte avec des clés de chaîne (représentant les différentes clés JSON) et des valeurs de type [] ImageURL.

Pour utiliser cette structure, définissez une structure ImageURL pour les entrées d'image individuelles :

type ImageURL struct {
    URL    string
    Width  int
    Height int
}
Copier après la connexion

Maintenant, vous pouvez désassemblez la réponse JSON directement dans une structure Items :

err := json.Unmarshal(data, &items)
if err != nil {
    // Handle error
}
Copier après la connexion

Cette approche fournit un mappage flexible pour les réponses JSON dynamiques, vous permettant de capturer les données sans avoir besoin de prédéfinir toutes les clés possibles.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal