Heim >Backend-Entwicklung >Golang >Wie kann ich JSON-Rohdaten mit Unicode-Escape in Go lesbar machen?

Wie kann ich JSON-Rohdaten mit Unicode-Escape in Go lesbar machen?

DDD
DDDOriginal
2024-12-05 19:28:11693Durchsuche

How Can I Make Raw Unicode-Escaped JSON Data Readable in Go?

Wie mache ich rohe Unicode-codierte Inhalte lesbar?

Beim Anfordern von JSON-Daten von einer Web-API stoßen Sie möglicherweise auf rohe ASCII-Inhalte, die erscheint als Unicode-Escapezeichen. Während die Verwendung von bufio.ScanRunes zum Parsen der Antwort fehlschlägt, kann die Dekodierung der Antwort mit Tools wie dem JSON-Paket oder strconv.Unquote die Unicode-Escapezeichen effektiv in lesbaren Text umwandeln.

Detaillierte Erklärung:

Die in der Frage bereitgestellten JSON-Daten enthalten Unicode-Zeichen, die durch Backslash-Escapezeichen dargestellt werden, wie z. B. u5408 und u672a. Um diese Escapezeichen zu dekodieren und die tatsächlichen Unicode-Zeichen anzuzeigen, können wir die folgenden Methoden verwenden:

  • JSON-Paket (json): JSON unterstützt die automatische Dekodierung von Unicode-Escapezeichen beim Unmarshaling von JSON-Daten . Hier ist ein Beispiel:
package main

import (
    "encoding/json"
)

func main() {
    var i interface{}
    err := json.Unmarshal([]byte(`{"name": "\u5408\u80a5"}`), &i)
    fmt.Println(err, i)
}

Ausgabe (versuchen Sie es auf dem Go Playground):

<nil> map[name:同学]
  • strconv.Unquote: Zum Aufheben von Anführungszeichen Für kleinere Fragmente von Unicode-codiertem Text kann strconv.Unquote verwendet werden. Es erwartet eine in Anführungszeichen eingeschlossene Zeichenfolge, wie unten gezeigt:
fmt.Println(strconv.Unquote(`"\u7d20\u672a\u8c0b"`))

Ausgabe (versuchen Sie es auf dem Go Playground):

素未谋

Denken Sie daran, dass strconv.Unquote das erfordert Zeichenfolge, die in Anführungszeichen eingeschlossen werden soll. Dies wird mithilfe eines rohen Zeichenfolgenliterals ( ` ) erreicht, um zu verhindern, dass der Compiler die Anführungszeichen für die Escapezeichen selbst aufhebt.

Das obige ist der detaillierte Inhalt vonWie kann ich JSON-Rohdaten mit Unicode-Escape in Go lesbar machen?. 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