Go是一門非常流行的編程語言,它提供了豐富的標準庫來方便開發者進行各種操作。其中與json相關的標準庫有encoding/json和json,它們分別提供了不同的功能。
下面我們來介紹一下這兩個庫的用法。
encoding/json
這個庫提供了解析json的功能,可以將json字符串轉化為Go語言中的結構體。下面給出一個例子:
type Person struct { Name string `json:"name"` Age int `json:"age"` } jsonStr := `{"name":"Tom", "age":22}` var p Person err := json.Unmarshal([]byte(jsonStr), &p) if err != nil { // 解析失敗 } else { // 解析成功,p即為解析后的Person結構體 }
需要注意的是,結構體中的字段必須是大寫開頭的,否則json庫將無法解析該字段。
json
這個庫提供了將Go語言中的結構體轉化為json字符串的功能。下面也給出一個例子:
type Person struct { Name string `json:"name"` Age int `json:"age"` } p := Person { Name: "Tom", Age: 22, } jsonData, err := json.Marshal(p) if err != nil { // 轉化失敗 } else { // 轉化成功,jsonData即為對應的json字符串 }
與encoding/json類似,也要注意字段的大寫開頭。
以上就是這兩個庫的基本用法了,它們可以讓我們方便地進行json數據的處理,快速完成復雜的業務邏輯。
上一篇vue git 退出
下一篇mysql分庫中間件推薦