色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

go解析json的庫

劉姿婷2年前7瀏覽0評論

Go是一門非常流行的編程語言,它提供了豐富的標準庫來方便開發(fā)者進行各種操作。其中與json相關(guān)的標準庫有encoding/json和json,它們分別提供了不同的功能。

下面我們來介紹一下這兩個庫的用法。

encoding/json

這個庫提供了解析json的功能,可以將json字符串轉(zhuǎn)化為Go語言中的結(jié)構(gòu)體。下面給出一個例子:

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結(jié)構(gòu)體
}

需要注意的是,結(jié)構(gòu)體中的字段必須是大寫開頭的,否則json庫將無法解析該字段。

json

這個庫提供了將Go語言中的結(jié)構(gòu)體轉(zhuǎn)化為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 {
// 轉(zhuǎn)化失敗
} else {
// 轉(zhuǎn)化成功,jsonData即為對應的json字符串
}

與encoding/json類似,也要注意字段的大寫開頭。

以上就是這兩個庫的基本用法了,它們可以讓我們方便地進行json數(shù)據(jù)的處理,快速完成復雜的業(yè)務邏輯。