Désagrégation des chaînes UTF-8 en []octet
Lorsque vous travaillez avec JSON, la fonction de démarshalage nécessite une entrée de type []octet. Cependant, nos données pourraient être stockées sous forme de chaîne UTF-8. Cet article explique comment convertir une chaîne UTF-8 en []octet pour une désorganisation réussie.
Conversion à l'aide de []octet(s)
Selon la spécification Go , une chaîne peut être convertie en []octet en utilisant un simple transtypage :
s := "some text"
b := []byte(s)
Cependant, cette conversion crée une copie du contenu de la chaîne, ce qui peut être inefficace pour les grandes chaînes.
Utilisation de io.Reader pour une utilisation efficace Unmarshal
Une approche alternative consiste à utiliser un io.Reader créé à partir de la chaîne :
s := `{"somekey":"somevalue"}`
reader := strings.NewReader(s)
decoder := json.NewDecoder(reader)
var result interface{}
decoder.Decode(&result)
Cette méthode évite de copier la chaîne et est plus efficace pour les entrées volumineuses.
Considérations pour différents scénarios
En résumé, la conversion de chaînes UTF-8 en []byte pour le démarshalling implique soit une diffusion directe, soit l'utilisation d'un io.Reader pour une gestion efficace des entrées volumineuses. Le choix dépend des exigences spécifiques de l'application.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3