欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

go json解析 switch

呂致盈2年前10瀏覽0評論

在Go語言中,我們可以使用JSON解析器來解析JSON格式的數據。JSON解析器幾乎可以解析所有的JSON數據,更重要的是,JSON解析器比較簡單易用。本文將介紹如何使用switch語句在Go語言中解析JSON格式的數據。

首先,我們需要導入"encoding/json"包。這個包提供了JSON的解析和編碼功能。接著,我們需要定義一個結構體,結構體的字段必須與JSON數據的鍵相同:

type Person struct {
Name  string `json:"name"`
Age   int    `json:"age"`
Email string `json:"email"`
}

現在,我們來看一個解析JSON數據的示例。假設我們有一個JSON格式的字符串:

jsonStr := `{
"name": "張三",
"age": 18,
"email": "zhangsan@example.com"
}`

我們可以使用json.Unmarshal函數將JSON字符串解析為Person結構體:

var person Person
err := json.Unmarshal([]byte(jsonStr), &person)
if err != nil {
fmt.Println("解析JSON失敗:", err)
}
fmt.Printf("姓名:%s, 年齡:%d, 郵箱:%s\n", person.Name, person.Age, person.Email)

這里介紹一種使用switch語句解析JSON數據的方法。我們可以將JSON字符串解析為map[string]interface{}類型,然后使用switch語句根據JSON數據的類型進行處理:

var data map[string]interface{}
err := json.Unmarshal([]byte(jsonStr), &data)
if err != nil {
fmt.Println("解析JSON失敗:", err)
}
for key, value := range data {
switch value.(type) {
case string:
fmt.Printf("%s: %s\n", key, value.(string))
case float64:
fmt.Printf("%s: %f\n", key, value.(float64))
}
}

以上代碼首先將JSON字符串解析為map[string]interface{}類型,然后使用for循環遍歷map,使用switch語句判斷value的類型,然后根據類型進行相應的處理。在本例中,我們根據value的類型分別將其轉換為string和float64類型,然后打印出來。