这是我的测试代码.只需制作一个简单的http服务器.然后生成一个json数据,它的值是"&".但结果是我不想要的.结果在代码块下面.
package main
import (
"encoding/json"
"fmt"
"log"
"net/http"
)
func testFunc(w http.ResponseWriter, r *http.Request) {
data := make(map[string]string)
data["key"] = "&"
bytes, err := json.Marshal(data)
if err != nil {
fmt.Fprintln(w, "generator json error")
} else {
//print console
fmt.Println(string(bytes))
fmt.Println("&")
//print broswer
fmt.Fprintln(w, string(bytes))
fmt.Fprintln(w, "&")
}
}
func main() {
http.HandleFunc("/", testFunc)
err := http.ListenAndServe(":9090", nil)
if err != nil {
log.Fatal("ListenAndServe", err)
}
}
Run Code Online (Sandbox Code Playgroud)
结果:Chrome浏览器显示:
{ "关键": "\ u0026"}
&
控制台还显示:
{ "关键": "\ u0026"}
& …