Como posso analisar uma string JSON com pares de chave/valor conhecidos e desconhecidos em uma estrutura Go? Os campos desconhecidos podem ter qualquer nome e tipo de valor (string, bool, float64 ou int).
Crie uma estrutura com os campos conhecidos e uma fatia de mapas para os campos desconhecidos :
type Message struct {
Known1 string `json:"known1"`
Known2 string `json:"known2"`
Unknowns []map[string]interface{}
}
Desempacote a string JSON nesta estrutura:
json.Unmarshal([]byte(jsonMsg), &msg)
O campo Desconhecidos conterá uma lista de mapas que representam os pares chave/valor desconhecidos.
Double Unmarshal:
Unmarshal e conversão de tipo:
Todas as três soluções são válidas, mas a mais simples e elegante é a abordagem inicial baseada em estrutura. Isso evita a necessidade de desempacotamentos adicionais ou conversões manuais de tipo.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3