Je suis en train de développer un wrapper API Telegram Bot pour Golang (je sais qu'il y en a déjà mais je fais ça pour l'apprentissage). J'ai un struct Réponse:json.Unmarshal ne décode pas dans l'interface interne {} correctement
type Response struct {
Ok bool `json:"ok"`
ErrorCode int64 `json:"error_code"`
Description string `json:"description"`
Result interface{} `json:"result"`
}
Je ne peux pas connaître le type réel de Result
: beaucoup peut être retourné par les serveurs de télégrammes; J'ai fait un struct pour chacun, mais je ne sais pas lequel sera dans Result
. Lorsque Unmarshal
un JSON à partir d'une réponse HTTP dans la structure Response
, tout est chargé correctement, sauf Result
.
En fonction où je suis sûr Le résultat sera un User
(par exemple), je fais user := resp.Result.(*User)
, mais je reçois l'erreur suivante lors de l'exécution: panic: interface conversion: interface {} is map[string]interface {}, not *tgbot.User
. Donc, Result
est un map[string]interface{}
. Comment puis-je le transformer en *User
?
Merci pour les réponses.