Desclasificación de cadenas UTF-8 en []byte
Cuando se trabaja con JSON, la función de separación requiere una entrada de tipo []byte. Sin embargo, nuestros datos podrían almacenarse como una cadena UTF-8. Este artículo explora cómo convertir una cadena UTF-8 a []byte para una desclasificación exitosa.
Conversión usando []byte(s)
De acuerdo con la especificación Go , una cadena se puede convertir a []byte usando una conversión simple:
s := "some text"
b := []byte(s)
Sin embargo, esta conversión crea una copia del contenido de la cadena, lo que puede ser ineficiente para cadenas grandes.
Uso de io.Reader para eficiencia Unmarshal
Un enfoque alternativo es utilizar un io.Reader creado a partir de la cadena:
s := `{"somekey":"somevalue"}`
reader := strings.NewReader(s)
decoder := json.NewDecoder(reader)
var result interface{}
decoder.Decode(&result)
Este método evita copiar la cadena y es más eficiente para entradas grandes.
Consideraciones para diferentes escenarios
En resumen, convertir cadenas UTF-8 a []bytes para descomponer implica la conversión directa o el uso de un io.Reader para un manejo eficiente de entradas grandes. La elección depende de los requisitos específicos de la aplicación.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3