Maison >développement back-end >Golang >Comment puis-je désorganiser JSON avec une clé dynamique dans Go ?

Comment puis-je désorganiser JSON avec une clé dynamique dans Go ?

DDD
DDDoriginal
2024-12-11 02:58:09589parcourir

How Can I Unmarshal JSON with a Dynamic Key in Go?

Démarshaling de clé dynamique dans JSON avec Go

Lorsque vous travaillez avec des données JSON, il peut être difficile de les désorganiser dans une structure si l'un des Les clés sont dynamiques et ne peuvent pas être directement mappées à un nom de champ dans la structure. Pour résoudre ce problème, une solution pratique peut être trouvée dans Golang.

Étant donné une structure définie :

type X struct {
  A string `json:"a_known_string"`
  B string `json:"b_known_string"`
}

Et un exemple de chaîne JSON :

{
  "any string": {
    "a_known_string": "some value",
    "b_known_string": "another value"
  }
}

Pour capturer à la fois la clé connue et la clé dynamique dans le JSON, une carte peut être utilisée :

var m map[string]X
err := json.Unmarshal([]byte(jsnStr), &m)

Cette approche permet le stockage de plusieurs objets sous une seule clé dynamique, offrant une flexibilité dans la gestion des données.

Un exemple de terrain de jeu peut être trouvé [ici](https://play.golang.org/p/jh-GAlUEo7n).

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