Maison > développement back-end > Golang > le corps du texte

Comment convertir des chaînes UTF-8 en tableaux d'octets pour le démarshaling JSON dans Go ?

Patricia Arquette
Libérer: 2024-10-30 13:27:04
original
278 Les gens l'ont consulté

How to Convert UTF-8 Strings to Byte Arrays for JSON Unmarshaling in Go?

Conversion de chaînes UTF-8 en tableaux d'octets pour le démarshaling JSON

Pour démarshaler une chaîne JSON, il faut fournir un tableau d'octets ([]byte) comme entrée de la fonction désignée. Cet article explore les méthodes pour convertir les chaînes UTF-8 en []byte à cette fin.

Méthode 1 : conversion de type directe

The Go Le langage permet la conversion directe de chaînes en []byte en utilisant une simple conversion de type :

s := "some text"
b := []byte(s) // b is of type []byte
Copier après la connexion

Cette méthode est sanctionnée par la spécification du langage, où elle indique que la conversion d'une chaîne en []byte donne une tranche contenant des octets individuels de la chaîne.

Méthode 2 : utiliser un io.Reader avec json.NewDecoder()

Alternativement, un io.Reader peut être utilisé avec json.NewDecoder(). Le io.Reader fourni lira une chaîne sans créer de copie, optimisant ainsi le processus :

s := `{"somekey":"somevalue"}`

var result interface{}
err := json.NewDecoder(strings.NewReader(s)).Decode(&result)
Copier après la connexion

Cette méthode évite la surcharge liée à la copie du contenu de la chaîne dans un [ ]byte, ce qui le rend préférable pour les textes JSON plus volumineux.

Remarque : Pour les petites chaînes JSON, la conversion de type directe à l'aide de []byte(s) est reste une option viable avec un impact négligeable sur les performances.

Conclusion

Cet article présente deux méthodes pour convertir les chaînes UTF-8 en []byte pour Unmarshaling JSON : un cast de type direct et l'utilisation d'un io.Reader avec json.NewDecoder(). La méthode appropriée à utiliser dépend du cas d'utilisation spécifique et de la taille des données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!