Maison >développement back-end >Golang >Comment puis-je gérer efficacement le JSON non structuré avec des clés arbitraires dans Go ?

Comment puis-je gérer efficacement le JSON non structuré avec des clés arbitraires dans Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-27 09:36:11627parcourir

How Can I Effectively Handle Unstructured JSON with Arbitrary Keys in Go?

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!

Déclaration:
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