Heim >Backend-Entwicklung >Golang >Wie behebt man den Fehler „Ungültiges Zeichen „ï' bei der Suche nach dem Anfang des Werts' beim Unmarshalling von JSON?
Ungültiger Zeichenfehler beim Unmarshalling von JSON mit UTF-8-BOM
Beim Versuch, von einer HTTP-Anfrage empfangene JSON-Daten zu entmarshallen, kann es zu folgendem Fehler kommen: ein Fehler: „Ungültiges Zeichen ‚ï‘ sucht nach Wertanfang.“
Dieser Fehler tritt auf, wenn der Server sendet eine UTF-8-Textzeichenfolge, die eine Byte Order Mark (BOM) enthält. Die Stückliste gibt den Codierungstyp an, sollte aber vor der Dekodierung entfernt werden.
Lösung:
Entfernen Sie die Stückliste aus den JSON-Daten, indem Sie den folgenden Code verwenden:
body = bytes.TrimPrefix(body, []byte("\xef\xbb\xbf")) // Or []byte{239, 187, 191}
Es ist wichtig zu beachten, dass die UTF-8-Stückliste, interpretiert als ISO-8859-1-Zeichenfolge, die Zeichen erzeugt , was das „ï“-Zeichen in der Fehlermeldung erklärt.
Durch Entfernen der Stückliste können die Daten erfolgreich in die gewünschte Datenstruktur entmarshallt werden (in diesem Fall die TransformTextResponse).
Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Ungültiges Zeichen „ï' bei der Suche nach dem Anfang des Werts' beim Unmarshalling von JSON?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!