Heim  >  Artikel  >  Backend-Entwicklung  >  Wie konvertiere ich UTF-8-Strings in Byte-Arrays für das JSON-Unmarshaling in Go?

Wie konvertiere ich UTF-8-Strings in Byte-Arrays für das JSON-Unmarshaling in Go?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-30 13:27:04260Durchsuche

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

Konvertieren von UTF-8-Strings in Byte-Arrays für das JSON-Unmarshaling

Um einen JSON-String zu entmarshalieren, muss man ein Array von Bytes ([]byte) als Eingabe für die angegebene Funktion. In diesem Artikel werden Methoden zum Konvertieren von UTF-8-Zeichenfolgen in []Byte für diesen Zweck untersucht.

Methode 1: Direkte Typkonvertierung

The Go Die Sprache ermöglicht die direkte Konvertierung von Zeichenfolgen in []byte mithilfe einer einfachen Typumwandlung:

s := "some text"
b := []byte(s) // b is of type []byte

Diese Methode wird durch die Sprachspezifikation sanktioniert, in der angegeben ist, dass die Konvertierung einer Zeichenfolge in ein []byte führt zu einem Slice, der einzelne Bytes der Zeichenfolge enthält.

Methode 2: Verwendung eines io.Reader mit json.NewDecoder()

Alternativ kann ein io.Reader mit json.NewDecoder() verwendet werden. Der bereitgestellte io.Reader liest aus einer Zeichenfolge, ohne eine Kopie zu erstellen, wodurch der Prozess optimiert wird:

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

var result interface{}
err := json.NewDecoder(strings.NewReader(s)).Decode(&result)

Diese Methode vermeidet den Aufwand für das Kopieren des Zeichenfolgeninhalts in einen [ ]byte, wodurch es für größere JSON-Texte bevorzugt wird.

Hinweis: Für kleine JSON-Strings ist die direkte Typkonvertierung mit []byte(s) möglich immer noch eine praktikable Option mit vernachlässigbaren Auswirkungen auf die Leistung.

Fazit

Dieser Artikel zeigt zwei Methoden zum Konvertieren von UTF-8-Zeichenfolgen in []Byte für JSON-Unmarshaling: eine direkte Typumwandlung und Verwendung eines io.Reader mit json.NewDecoder(). Die geeignete Methode hängt vom spezifischen Anwendungsfall und der Datengröße ab.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich UTF-8-Strings in Byte-Arrays für das JSON-Unmarshaling in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn