色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

golang json 中文亂碼

洪振霞2年前10瀏覽0評論

golang是一種強大的編程語言,支持在不同的平臺上進行快速的開發。其中,json是golang中處理數據的重要方式之一,但在使用過程中,我們常常會遇到中文亂碼的問題。

func main() {
type Person struct {
Name string
Age int
}
p := Person{
Name: "張三",
Age: 19,
}
b, err := json.Marshal(p)
if err != nil {
fmt.Println("json encode failed:", err)
return
}
fmt.Println(string(b))
}

上述代碼演示了golang中使用json進行編碼的過程。在將結構體Person編碼為json字符串后,我們通過fmt.Println輸出結果。但實際上,我們會發現輸出中文時會出現亂碼的情況。

那么該如何避免中文亂碼呢?其實很簡單,只需要在編碼時使用json包提供的Marshal函數,并設置一個選項即可。

func main() {
type Person struct {
Name string
Age int
}
p := Person{
Name: "張三",
Age: 19,
}
b, err := json.Marshal(p)
if err != nil {
fmt.Println("json encode failed:", err)
return
}
fmt.Println(string(b)) // 輸出中文亂碼
// 設置選項,避免中文亂碼
b, err = json.MarshalIndent(p, "", "    ")
if err != nil {
fmt.Println("json encode failed:", err)
return
}
fmt.Println(string(b))
}

此次我們在編碼時添加了json.MarshalIndent選項,將json字符串進行縮進,從而避免了中文亂碼的情況。

經過這個簡單的案例,我們發現golang中json的使用并不難,而且只需要設置一個選項就能輕松解決中文亂碼問題。