Heim >Backend-Entwicklung >Golang >Wie zeige ich ein kaufmännisches Und (&) ohne Escapezeichen in der JSON-Antwort von Go an?

Wie zeige ich ein kaufmännisches Und (&) ohne Escapezeichen in der JSON-Antwort von Go an?

Linda Hamilton
Linda HamiltonOriginal
2024-12-03 09:40:10445Durchsuche

How to Display an Ampersand (&) Unescaped in Go's JSON Response?

Verarbeitung der Zeichenanzeige anstelle von ASCII

Im bereitgestellten Go-Code besteht das Ziel darin, ein kaufmännisches Und-Zeichen (&) in einem JSON anzuzeigen Antwort. Der aktuelle Code führt jedoch dazu, dass das kaufmännische Und als „u0026“ maskiert wird.

Um dieses Problem zu beheben, müssen wir die HTML-Escape-Funktion im JSON-Encoder deaktivieren. In Go-Versionen vor 1.7 war dies nicht möglich. Allerdings wurde mit Go 1.7 eine neue Option eingeführt: Encoder.DisableHTMLEscaping.

Mit dieser Option können wir das Escapezeichen von <, > und &-Zeichen verhindern JSON-Strings. Um diese Option zu verwenden, müssen wir sie auf dem Encoder-Objekt festlegen.

enc := json.NewEncoder(os.Stdout)
enc.SetEscapeHTML(false)

Sobald das HTML-Escape deaktiviert ist, maskiert der Encoder das kaufmännische Und-Zeichen nicht mehr, was zur gewünschten Ausgabe führt:

Chrome-Browser zeigt:

{
    "key": "&"
}
&

Konsole zeigt auch:

{
    "key": "&"
}
&

Das obige ist der detaillierte Inhalt vonWie zeige ich ein kaufmännisches Und (&) ohne Escapezeichen in der JSON-Antwort von Go an?. 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