欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

gosn轉json有斜杠

阮建安1年前8瀏覽0評論

Golang 中的 json 包提供了將結構體等類型轉換為 JSON 字符串的功能,而在實際開發過程中,我們常常需要在字符串中加入斜杠等特殊字符。接下來,我們將講解如何在 golang 中使用 json 包將含有斜杠的字符串轉換為 JSON 字符串。

type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
person := Person{
Name: "Tom",
Age:  18,
}
jsonBytes, err := json.Marshal(person)
if err != nil {
fmt.Println(err)
return
}
jsonString := string(jsonBytes)
jsonStringWithSlash := strings.ReplaceAll(jsonString, "/", "\\/")
fmt.Println(jsonStringWithSlash)
}

以上是一個簡單的示例。我們定義了一個 Person 結構體,并將其轉換為 JSON 對象。其中,string 類型的字符串字段可能會帶有斜杠。接著,我們使用 strings 包中的 ReplaceAll 方法將斜杠替換為 \\/,得到最終的 JSON 字符串。

需要注意的是,在將 JSON 對象反序列化為結構體時,我們需要對斜杠進行還原,否則將會出現解析錯誤。

func main() {
jsonStringWithSlash := "{\"name\":\"Tom\",\"age\":18,\"desc\":\"I\\u0027m \\\\Tom\\/\\\\\"}"
jsonString := strings.ReplaceAll(jsonStringWithSlash, "\\/", "/")
var person Person
err := json.Unmarshal([]byte(jsonString), &person)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(person)
}

在以上示例中,我們定義一個含有 desc 字段的 JSON 字符串,其中包含有轉義后的斜杠。接著,我們使用字符串替換將 \\/ 替換為 /,得到還原后的 JSON 字符串。最后,我們使用 json.Unmarshal 方法將 JSON 字符串反序列化為結構體,得到 Person 結構體對象。

綜上所述,我們講解了 golang 中將含有斜杠的字符串轉換為 JSON 字符串的方法,希望對您在實際開發中遇到的問題有所幫助。