Go語言是一種越來越流行的編程語言,它的適用范圍廣泛。其中,使用JSON作為數據交換格式已經變得非常普遍。因此,Go語言提供了一系列的JSON函數來解決數據的序列化和反序列化問題。下面,我們將重點介紹一些常用的JSON函數。
// 使用go語言中的encoding/json中的Marshal()函數實現JSON序列化 package main import ( "encoding/json" "fmt" ) type Student struct { Name string Age int Class string } func main() { student := Student{"Tom", 20, "class2"} result, _ := json.Marshal(student) fmt.Println(string(result)) }
上述代碼中,我們使用了encoding/json包中的Marshall()函數,它可以將Go語言中的結構體類型轉換為JSON字符串。其中,實例化了一個Student結構體,并將它序列化以字符串形式輸出。string()函數用于將[]byte類型的結果轉換為字符串類型,這樣我們就方便地通過控制臺查看了序列化結果。
// 使用go語言中的encoding/json中的Unmarshal()函數實現JSON反序列化 package main import ( "encoding/json" "fmt" ) type Student struct { Name string Age int Class string } func main() { jsonStr := `{"Name":"Tom","Age":20,"Class":"class2"}` var student Student json.Unmarshal([]byte(jsonStr), &student) fmt.Println(student) }
上述代碼中,我們使用了encoding/json包中的Unmarshal()函數,它可以將JSON字符串反序列化為Go語言中的結構體。其中,使用了jsonStr變量來存儲了經過序列化后的學生信息,然后從jsonStr變量中反序列化出來。最終,我們使用fmt包將student對象打印出來,這樣就可以查看到反序列后的結果了。
總結:在Go語言中,可以使用encoding/json包中的Marshal()函數和Unmarshal()函數來實現JSON序列化和反序列化。這兩個函數可以幫助我們解決數據的格式轉換問題,從而更好地應用于實際開發中。
下一篇vue flexble