Maison >développement back-end >Golang >Comment puis-je désorganiser partiellement JSON dans une carte Go ?
Dans Go, il est possible de désorganiser partiellement les données JSON dans une carte lorsque les données sont enveloppées dans un objet avec clé- paires de valeurs. Cela permet d'identifier facilement le type de valeur que contient chaque clé.
Pour y parvenir, utilisez le package encoding/json et dégroupez-le dans un map[string]json.RawMessage. Le type json.RawMessage capture les données JSON sous-jacentes avant une analyse plus approfondie.
var objmap map[string]json.RawMessage err := json.Unmarshal(data, &objmap)
Une fois la carte obtenue, vous pouvez procéder à l'analyse de la valeur de chaque clé en fonction de sa type connu.
Pour l'exemple JSON :
{ "sendMsg":{"user":"ANisus","msg":"Trying to send a message"}, "say":"Hello" }
Vous pouvez analysez sendMsg et dites comme suit :
type sendMsg struct { User string Msg string } var s sendMsg err = json.Unmarshal(objmap["sendMsg"], &s) var str string err = json.Unmarshal(objmap["say"], &str)
Notez que les variables de la structure sendMsg doivent être exportées (c'est-à-dire en majuscules) pour un démarshalage correct, comme indiqué :
type sendMsg struct { User string Msg string }
Voir un exemple fonctionnel ici : https://play.golang.org/p/OrIjvqIsi4-
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!