在Go語言中,將數(shù)據(jù)轉(zhuǎn)換成JSON的標(biāo)準(zhǔn)庫是內(nèi)置的,不需要額外安裝包。導(dǎo)入"encoding/json"包后,使用json.Marshal()或json.MarshalIndent()函數(shù)將Go語言的數(shù)據(jù)類型轉(zhuǎn)換為JSON格式。
例如:
package main import ( "encoding/json" "fmt" ) type Person struct { Name string `json:"name"` Age int `json:"age"` Gender string `json:"gender,omitempty"` } func main() { p1 := Person{Name: "Tom", Age: 20} p1Json, _ := json.Marshal(p1) fmt.Println(string(p1Json)) p2 := Person{Name: "Jane", Age: 22, Gender: "female"} p2Json, _ := json.MarshalIndent(p2, "", " ") fmt.Println(string(p2Json)) }
在上述代碼中,首先定義了一個結(jié)構(gòu)體Person,并賦予其對應(yīng)的JSON標(biāo)簽。接著聲明了兩個Person類型的變量p1和p2,并將它們分別轉(zhuǎn)換為JSON格式。第一個變量p1通過json.Marshal()函數(shù)轉(zhuǎn)換,并使用string()函數(shù)將JSON格式的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成字符串;第二個變量p2通過json.MarshalIndent()函數(shù)轉(zhuǎn)換,并且將JSON格式進(jìn)行縮進(jìn)處理。
在控制臺上運行上述代碼,輸出的結(jié)果如下:
{"name":"Tom","age":20} { "name": "Jane", "age": 22, "gender": "female" }
可以看到,結(jié)果與預(yù)期一致,并且通過JSON格式的字符串可以進(jìn)行網(wǎng)絡(luò)傳輸或?qū)懭胛募炔僮鳌?/p>
上一篇HTML小人畫愛心代碼
下一篇mysql單機性能