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)
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"`))
Vorteile der Nichtanführungszeichen von Unicode
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!