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

go中json格式解析

錢良釵2年前7瀏覽0評論

在Go語言中,解析JSON格式數據非常方便。Go語言提供了標準庫中的encoding/json包,讓我們可以輕松地對JSON數據進行解析和生成。

下面是一個JSON數據的例子:

{
"name": "Tom",
"age": 20,
"isStudent": true,
"hobby": ["reading", "swimming"]
}

我們可以使用json.Unmarshal()函數將JSON字符串解析成一個結構體或者map。

type Student struct {
Name      string
Age       int
IsStudent bool
Hobby     []string
}
func main() {
jsonStr := `{"name":"Tom","age":20,"isStudent":true,"hobby":["reading","swimming"]}`
var s Student
err := json.Unmarshal([]byte(jsonStr), &s)
if err != nil {
// 解析失敗,處理錯誤
return
}
// 打印解析后的結果
fmt.Println(s.Name)
fmt.Println(s.Age)
fmt.Println(s.IsStudent)
fmt.Println(s.Hobby)
}

上面的代碼中,我們定義了一個Student結構體,然后使用json.Unmarshal()函數把JSON字符串解析成Student結構體對象。如果解析失敗,函數會返回一個非空的錯誤對象。我們可以根據錯誤對象來處理錯誤。

解析成功后,我們可以像訪問普通結構體一樣訪問Student對象中的字段。

編寫JSON數據并將其轉換成字符串也非常簡單。我們可以使用json.Marshal()函數將結構體或者map轉換成JSON字符串。

s := Student{
Name:      "Tom",
Age:       20,
IsStudent: true,
Hobby:     []string{"reading", "swimming"},
}
jsonBytes, err := json.Marshal(s)
if err != nil {
// 處理錯誤
return
}
jsonStr := string(jsonBytes)
fmt.Println(jsonStr)

上面的代碼中,我們定義了一個Student結構體對象,并使用json.Marshal()函數將其轉換成JSON字符串。如果轉換失敗,函數會返回一個非空的錯誤對象。我們可以根據錯誤對象來處理錯誤。

在Go語言中,處理JSON數據非常簡單,我們只需要使用標準庫中的encoding/json包即可。對于一些特殊的需求,我們也可以使用第三方的JSON包。