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

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

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-09 12:16:15552parcourir

How to Unmarshal JSON with a Dynamic Key in Go?

JSON Unmarshal avec une clé dynamique

Unmarshall JSON avec une clé dynamique qui ne peut pas être capturée en tant que champ statique dans une structure peut être réalisé en Allez utiliser un map.

Exemple :

Considérez les données JSON suivantes :

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

Et la structure :

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

Solution :

Pour capturer la clé dynamique ainsi que la connue valeurs, utilisez une carte au lieu d'une structure :

import "encoding/json"

var m map[string]X
err := json.Unmarshal([]byte(jsonStr), &m)
if err != nil {
    // Handle error
}

// Access the data using the dynamic key
dynamicKeyData := m["any string"]

Dans ce scénario, le type map[string]X permet à la clé dynamique "n'importe quelle chaîne" d'être capturée avec les valeurs connues dans le X structure.

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