Heim > Backend-Entwicklung > Golang > Wie dekodiere ich []Byte als Strings in Go JSON?

Wie dekodiere ich []Byte als Strings in Go JSON?

Patricia Arquette
Freigeben: 2024-11-05 22:53:02
Original
641 Leute haben es durchsucht

How to Decode []byte as Strings in Go JSON?

Dekodierung von []Byte als Strings in Go

In Go wurde die Konvertierung durchgeführt, wenn ein []Byte-Slice als JSON-String gemarshallt wurde Die Methode json.Marshal() kodiert das Byte-Slice als Base64-kodierte Zeichenfolge. Wie in der Dokumentation zu sehen ist:

Array and slice values encode as JSON arrays, except that []byte encodes as a base64-encoded string, and a nil slice encodes as the null JSON object.
Nach dem Login kopieren

Diese Konvertierung wird durchgeführt, um das Fehlen einer nativen Darstellung für Rohbytes in JSON auszugleichen. Die Base64-Kodierung stellt sicher, dass das Byte-Slice als gültige JSON-Zeichenfolge transportiert wird.

Überwindung der Kodierung

Um eine JSON-Zeichenfolge mit dem ursprünglichen Inhalt eines [] zu generieren Im Byte-Feld müssen die Daten vor dem Marshalling in eine Zeichenfolge konvertiert werden. Dies kann mit der Funktion string() erreicht werden:

<code class="go">    helloStr := "Hello"
    helloSlc := []byte(helloStr)

    obj := Msg{string(helloSlc)}
    json, _ := json.Marshal(obj)
    fmt.Println(string(json))</code>
Nach dem Login kopieren

Dadurch wird die gewünschte Ausgabe erzeugt:

{"Content":"Hello"}
Nach dem Login kopieren

Dieser Ansatz stellt sicher, dass der JSON-String den ursprünglichen Inhalt des Strings enthält , statt seiner base64-codierten Darstellung.

Das obige ist der detaillierte Inhalt vonWie dekodiere ich []Byte als Strings in Go JSON?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage