Heim > Backend-Entwicklung > Golang > Wie konvertiert man UTF8-Strings effizient in Byte-Arrays für das JSON-Unmarshaling in Go?

Wie konvertiert man UTF8-Strings effizient in Byte-Arrays für das JSON-Unmarshaling in Go?

DDD
Freigeben: 2024-10-30 05:29:27
Original
793 Leute haben es durchsucht

How to Efficiently Convert UTF8 Strings to Byte Arrays for JSON Unmarshaling in Go?

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

Beim Unmarshaling eines JSON-Strings mit der Unmarshal-Funktion wird ein Parameter verwendet, der ein Byte-Array darstellt erforderlich. Dieser Artikel bietet eine effiziente Methode zum Konvertieren einer UTF8-Zeichenfolge in ein kompatibles Byte-Array.

Konvertierungsprozess

Die Go-Sprache ermöglicht die direkte Konvertierung von Zeichenfolgen in Byte-Arrays in der Sprachspezifikation angegeben. Der folgende Code demonstriert diese Konvertierung:

<code class="go">s := "some text"
b := []byte(s) // b is of type []byte</code>
Nach dem Login kopieren

Diese Konvertierung kann jedoch aufgrund des durchgeführten Kopiervorgangs für große Zeichenfolgen ineffizient sein. Ein alternativer Ansatz besteht darin, einen io.Reader zu verwenden, um den Kopieraufwand zu vermeiden. Dazu gehört das Erstellen eines io.Reader mit strings.NewReader() und dessen Übergabe an json.NewDecoder():

<code class="go">s := `{&quot;somekey&quot;:&quot;somevalue&quot;}`

var result interface{}
err := json.NewDecoder(strings.NewReader(s)).Decode(&amp;result)
fmt.Println(result, err)</code>
Nach dem Login kopieren

Diese Methode ermöglicht dem Programm den Zugriff auf die JSON-Daten, ohne eine Kopie der Eingabe zu erstellen string.

Leistungsüberlegungen

Der mit der Erstellung eines io.Reader und der Verwendung von json.NewDecoder() verbundene Overhead sollte bei kleinen JSON-Texten berücksichtigt werden. In solchen Fällen ist die direkte Konvertierung über []Byte(s) immer noch eine praktikable Option, da sie eine vergleichbare Leistung bietet.

Fazit

Abhängig von der Größe und Quelle von Für die JSON-Eingabe können verschiedene Methoden verwendet werden, um UTF8-Zeichenfolgen zum Unmarshaling in Byte-Arrays zu konvertieren. Durch die Nutzung der direkten Konvertierung oder des io.Reader-Ansatzes können Entwickler JSON-Daten effektiv in ihren Go-Anwendungen verarbeiten.

Das obige ist der detaillierte Inhalt vonWie konvertiert man UTF8-Strings effizient 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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage