Heim >Backend-Entwicklung >Golang >Wie behebt man den Fehler „Ungültiges Zeichen „ï' bei der Suche nach dem Anfang des Werts' beim Unmarshalling von JSON?

Wie behebt man den Fehler „Ungültiges Zeichen „ï' bei der Suche nach dem Anfang des Werts' beim Unmarshalling von JSON?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-29 14:25:12902Durchsuche

How to Fix

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!

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