"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como decodificar strings json com valores float64 armazenados como strings em go?

Como decodificar strings json com valores float64 armazenados como strings em go?

Postado em 2025-03-23
Navegar:791

How to Decode JSON Strings with Float64 Values Stored as Strings in Go?

decodificando JSON com a conversão do tipo de string para float64 em go

analisando as cordas JSON que contêm valores float64 podem representar os desafios quando os valores são armazenados como strings. Para resolver esse problema, Go fornece uma solução direta. Erro:

json: Não é possível soltar string no valor Go do tipo float64 esse erro ocorre porque o decodificador JSON tenta converter a representação da string do número float64 para um valor float64 diretamente, que não é suportado. Anotação

Para resolver esse problema, você precisa instruir explicitamente o decodificador para tratar a string como um float64 usando uma anotação de conversão de tipo. Esta anotação é adicionada à definição de campo na estrutura do produto:
json: cannot unmarshal string into Go value of type float64
digite o produto estrutura { String de nome Price Float64 `JSON:", String "` }

a tag ", string" diz ao decodificador JSON que o campo de preços é uma string que deve ser convertida em um float64.

Código atualizado:

? importação ( "Encoding/JSON" "FMT" ) Tipo de estrutura do produto { String de nome Price Float64 `JSON:", String "` } func main () { S: = `{" Name ":" Galaxy Nexus "," Price ":" 3460.00 "}` Produto var Pro err: = json.unmarshal ([] byte (s), & pro) se err == nil { fmt.printf ("% v \ n", pro) } outro { fmt.println (err) fmt.printf ("% v \ n", pro) } }

json: cannot unmarshal string into Go value of type float64
saída esperada:

executando este código produzirá a saída esperada: {name: Galaxy Nexus Price: 3460}

o JSON.unMarshal Decod Decods Functfualmente float64.

Tutorial mais recente Mais>

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