在Go語言中,使用JSON格式來序列化和反序列化數(shù)據(jù)結(jié)構(gòu)是一種非常常見的操作。在處理JSON格式數(shù)據(jù)時(shí),我們經(jīng)常會(huì)使用到JSON成員對(duì)象。下面我們來詳細(xì)介紹一下JSON成員對(duì)象在Go語言中的使用方法。
//定義一個(gè)JSON成員對(duì)象 type Student struct { Name string `json:"name"` Age int `json:"age"` } func main() { //序列化一個(gè)Student對(duì)象為JSON格式數(shù)據(jù) s := Student{"小明", 18} jsonData, err := json.Marshal(s) if err != nil { fmt.Println(err) return } fmt.Println(string(jsonData)) //輸出:{"name":"小明","age":18} //反序列化JSON格式數(shù)據(jù)為一個(gè)Student對(duì)象 var newS Student err = json.Unmarshal(jsonData, &newS) if err != nil { fmt.Println(err) return } fmt.Println(newS) //{小明 18} }
在上面的代碼中,我們定義了一個(gè)Student結(jié)構(gòu)體,其中Name和Age兩個(gè)成員變量都添加了json標(biāo)簽,這個(gè)標(biāo)簽用于定義序列化和反序列化時(shí)JSON格式數(shù)據(jù)鍵值對(duì)中的鍵名。
在序列化時(shí),我們使用json.Marshal方法將Student對(duì)象序列化為JSON格式數(shù)據(jù)。反序列化時(shí),我們使用json.Unmarshal方法將JSON格式數(shù)據(jù)反序列化為Student對(duì)象。
通過上面的例子,我們可以看出,使用JSON成員對(duì)象可以方便地將Go語言的結(jié)構(gòu)體對(duì)象序列化為JSON格式數(shù)據(jù),也可以將JSON格式數(shù)據(jù)反序列化為Go語言的結(jié)構(gòu)體對(duì)象。這為我們處理JSON格式數(shù)據(jù)提供了非常便利的方式。
上一篇python 按條件提取
下一篇python 輸出新行符