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

go map json處理

黃文隆2年前7瀏覽0評論

在Go語言中有一個很方便的數據結構——map,它可用于存儲鍵值對。當我們需要將map轉換為JSON時,我們可以使用標準庫中的encoding/json包。

type User struct {
Name     string           `json:"name"`
Age      int              `json:"age"`
Email    string           `json:"email"`
}
func main() {
userMap := make(map[string]User)
userMap["John"] = User{"John", 25, "john@example.com"}
userMap["Alice"] = User{"Alice", 22, "alice@example.com"}
// 將map轉換成JSON
jsonData, err := json.Marshal(userMap)
if err != nil {
fmt.Println("轉換JSON失敗:", err)
}
fmt.Println(string(jsonData))
}

在上面的代碼中,我們定義了一個名為User的結構體。我們還創建了一個名為userMap的map類型,并將兩個User對象添加到該map中。然后,我們將該map轉換為JSON,并使用Println輸出結果。

在運行上面的代碼后,您將會看到以下輸出:

{"Alice":{"name":"Alice","age":22,"email":"alice@example.com"},"John":{"name":"John","age":25,"email":"john@example.com"}}

如果您想反向將JSON轉換為map,請使用json.Unmarshal函數,如下所示:

func main() {
jsonData := `{"Alice":{"name":"Alice","age":22,"email":"alice@example.com"},"John":{"name":"John","age":25,"email":"john@example.com"}}`
// 將JSON轉換成map
userMap := make(map[string]User)
err := json.Unmarshal([]byte(jsonData), &userMap)
if err != nil {
fmt.Println("轉換map失敗:", err)
}
fmt.Println(userMap)
}

在上面的代碼中,我們使用jsonData字符串定義了一個JSON。我們使用Unmarshal函數將該JSON轉換為map類型,并使用Println輸出結果。

運行上面的代碼,您將看到以下輸出結果:

map[Alice:{Alice 22 alice@example.com} John:{John 25 john@example.com}]

在此示例中,我們創建了一個map并將其轉換為JSON,然后再將其轉換回map。在實際應用中,您可能會從數據庫或網絡獲取JSON數據,然后將其轉換為map以進行進一步處理。