Mappage de chaînes vers divers types dans des objets JSON
Dans Go, les cartes nécessitent de spécifier explicitement leurs types de clé et de valeur. Lorsqu'il s'agit d'objets JSON, qui autorisent des paires clé-valeur de types arbitraires, cette restriction pose un obstacle.
Question :
Comment pouvons-nous créer une carte qui puisse être converti en un objet JSON de la forme { "a": "apple", "b": 2 }, où les clés et les valeurs peuvent être de différentes types ?
Réponse :
Go fournit une solution via son type d'interface{}, qui peut contenir des valeurs de n'importe quel type. Selon la documentation du package encoding/json, lors du démarshaling de JSON dans une interface {}, les règles suivantes s'appliquent :
Pour utiliser cela, nous pouvons simplement créer une map[string]interface{} et la remplir avec des valeurs de différents types :
m := map[string]interface{}{"a":"apple", "b":2}
Cette carte peut désormais être facilement convertie en Objet JSON en le marshallant à l'aide de la fonction json.Marshal().
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!