Desempacotando strings UTF-8 para []byte
Ao trabalhar com JSON, a função de desempacotamento requer uma entrada do tipo []byte. No entanto, nossos dados podem ser armazenados como uma string UTF-8. Este artigo explora como converter uma string UTF-8 em []byte para desempacotamento bem-sucedido.
Conversão usando []byte(s)
De acordo com a especificação Go , uma string pode ser convertida em []byte usando uma conversão simples:
s := "some text"
b := []byte(s)
No entanto, esta conversão cria uma cópia do conteúdo da string, o que pode ser ineficiente para strings grandes.
Usando io.Reader for Efficient Unmarshal
Uma abordagem alternativa é usar um io.Reader criado a partir da string:
s := `{"somekey":"somevalue"}`
reader := strings.NewReader(s)
decoder := json.NewDecoder(reader)
var result interface{}
decoder.Decode(&result)
Este método evita a cópia da string e é mais eficiente para entradas grandes.
Considerações para diferentes cenários
Em resumo, a conversão de strings UTF-8 em []byte para desempacotamento envolve conversão direta ou uso de um io.Reader para manipulação eficiente de entradas grandes. A escolha depende dos requisitos específicos da aplicação.
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