如何在JSON 回應中顯示字元而不是ASCII
在此程式設計問題中,使用者遇到了以下問題:JSON 資料包含和符號“&”以其ASCII程式碼「u0026」顯示,而不是實際的
解決問題:
提供的解決方案涉及利用 Go1.7 中引入的功能。透過在 JSON 編碼器中停用 HTML 轉義,可以保留與字元在 JSON 資料中的原樣。
使用 Encoder.DisableHTMLEscaping 實作:
停用 HTML轉義,使用 Encoder.DisableHTMLEscaping 方法。此方法將編碼器的 EscapeHTML 欄位設定為 false,從而有效地停用 HTML 字元的轉義。
encoder := json.NewEncoder(responseWriter) encoder.SetEscapeHTML(false)
透過使用此方法修改程式碼,HTTP 伺服器現在將顯示 & 符號而不進行任何 ASCII 轉換。這是 testFunc 函數的修改版本:
func testFunc(w http.ResponseWriter, r *http.Request) { data := make(map[string]string) data["key"] = "&" encoder := json.NewEncoder(w) encoder.SetEscapeHTML(false) if err := encoder.Encode(data); err != nil { fmt.Fprintln(w, "Failed to generate JSON.") } }
現在,瀏覽器和控制台都將按預期顯示 & 字符,無需任何 ASCII 轉換。
以上是如何防止 JSON 回應顯示 ASCII 代碼而不是字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!