Heim > Backend-Entwicklung > Golang > Wie gehe ich mit Unicode-Zeichenfolgen in Go-JSON-Antworten richtig um?

Wie gehe ich mit Unicode-Zeichenfolgen in Go-JSON-Antworten richtig um?

DDD
Freigeben: 2024-12-13 12:47:11
Original
859 Leute haben es durchsucht

How to Properly Handle Unicode Strings in Go JSON Responses?

Wie man Unicode-Strings in Go-Antworten analysiert und Anführungszeichen entfernt

Wenn Sie JSON-Antworten von einer API empfangen, stoßen Sie möglicherweise stattdessen auf rohen ASCII-Inhalt lesbarer Text. Dies liegt daran, dass bestimmte Unicode-Zeichen mithilfe von Escape-Sequenzen codiert werden, um die Kompatibilität mit älteren Systemen sicherzustellen. Um diese Zeichen korrekt zu analysieren und anzuzeigen, können Sie die folgenden Techniken verwenden:

Verwenden des JSON-Pakets

Das JSON-Paket bietet eine praktische Methode zum Aufheben von Anführungszeichen und zum Parsen von Unicode-Zeichenfolgen . Das folgende Beispiel zeigt, wie es verwendet wird:

var i interface{}
err := json.Unmarshal([]byte(src), &i)
if err != nil {
    fmt.Println(err)
}

fmt.Println(i)
Nach dem Login kopieren

Nachdem Sie die JSON-Antwort in eine Schnittstelle entmarshallt haben{}, können Sie problemlos auf die nicht in Anführungszeichen gesetzten Unicode-Werte zugreifen.

Mit strconv. Unquote()

Wenn Sie nur für eine bestimmte Unicode-Zeichenfolge Anführungszeichen entfernen müssen, können Sie die verwenden strconv.Unquote()-Funktion. Diese Funktion erwartet eine in Anführungszeichen gesetzte Zeichenfolge als Eingabe und gibt die nicht in Anführungszeichen gesetzte Version zurück. Zum Beispiel:

fmt.Println(strconv.Unquote(`"\u7d20\u672a\u8c0b"`))
Nach dem Login kopieren

Vorteile der Nichtanführungszeichen von Unicode

  • Verbesserte Lesbarkeit: Darstellbare Zeichen werden gerendert, wodurch der Text lesbar wird.
  • Korrekte Anzeige: Unicode-Zeichen werden dargestellt genau, unterstützt die Internationalisierung.
  • Reduzierte Dateigröße: Nicht in Anführungszeichen gesetzte Zeichenfolgen sind kleiner als ihre maskierten Gegenstücke, was den Bandbreitenbedarf reduziert.

Hinweis:

strconv.Unquote() erwartet einen in Anführungszeichen eingeschlossenen String. Rohe String-Literale (``) können verwendet werden, um sicherzustellen, dass der Compiler die Escape-Sequenzen nicht interpretiert.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit Unicode-Zeichenfolgen in Go-JSON-Antworten richtig um?. 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