Comment puis-je analyser une chaîne JSON avec des paires clé/valeur connues et inconnues dans une structure Go ? Les champs inconnus peuvent avoir n'importe quel nom et type de valeur (string, bool, float64 ou int).
Créez une structure avec les champs connus et une tranche de cartes pour les champs inconnus :
type Message struct {
Known1 string `json:"known1"`
Known2 string `json:"known2"`
Unknowns []map[string]interface{}
}
Désorganisez la chaîne JSON dans cette structure :
json.Unmarshal([]byte(jsonMsg), &msg)
Le champ Inconnus contiendra une liste de cartes représentant les paires clé/valeur inconnues.
Double Unmarshal :
Unmarshal et conversion de type :
Les trois solutions sont valides, mais la plus simple et la plus élégante est l'approche initiale basée sur la structure. Cela évite le besoin de démaréchaux supplémentaires ou de conversions de type manuelles.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3