Entfernen ungültiger UTF-8-Zeichen aus JSON-Zeichenfolgen in Go
Wenn beim JSON-Marshalling ungültige UTF-8-Zeichen in Zeichenfolgen gefunden werden, kommt es häufig vor Problem in Go, es ist entscheidend, einen effektiven Weg zu finden, sie zu entfernen oder zu behandeln.
In Go gibt es verschiedene Pakete und Techniken können eingesetzt werden, um dieses Problem anzugehen. Eine einfache Option, die in Go 1.13 eingeführt wurde, ist:
strings.ToValidUTF8("a\xc5z", "")
Diese Funktion ersetzt ungültige UTF-8-Sequenzen durch die als zweiter Parameter angegebene Ersatzzeichenfolge.
Alternativ bieten Go 1.11 und höher eine vielseitiger Ansatz mit der Map-Funktion und der utf8.RuneError-Konstante:
fixUtf := func(r rune) rune { if r == utf8.RuneError { return -1 } return r } fmt.Println(strings.Map(fixUtf, "a\xc5z"))
Die Die strings.Map-Funktion wendet die angegebene Funktion auf jede Rune in der Zeichenfolge an und gibt eine neue Zeichenfolge zurück. Die fixUtf-Funktion sucht nach ungültigen Zeichen und ersetzt diese durch -1, wodurch sie effektiv aus der Ausgabe entfernt werden.
Mit diesen Methoden können Entwickler ungültige UTF-8-Zeichen in JSON-Strings schnell und zuverlässig verarbeiten und so gültige UTF-8-Zeichen sicherstellen. 8 Daten während des Marshallings.
Das obige ist der detaillierte Inhalt vonWie entferne ich effektiv ungültige UTF-8-Zeichen aus JSON-Strings in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!