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!