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

go將JSON轉(zhuǎn)換為map數(shù)組

榮姿康2年前8瀏覽0評論

在Go語言中,有時(shí)我們需要將JSON這種數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)化為map數(shù)組,以便于后續(xù)的操作。下面就來介紹一下怎么做。

首先,我們需要導(dǎo)入encoding/json包:

import "encoding/json"

接下來,我們定義一個(gè)結(jié)構(gòu)體,用于存儲JSON數(shù)據(jù)的鍵值對:

type MyData struct {
Key string `json:"key"`
Value string `json:"value"`
}

然后,我們可以使用json.Unmarshal函數(shù)將JSON數(shù)據(jù)轉(zhuǎn)化為MyData類型的數(shù)組:

jsonStr := `
[
{"key": "name", "value": "John"},
{"key": "age", "value": "30"},
{"key": "city", "value": "New York"}
]
`
var myData []MyData
err := json.Unmarshal([]byte(jsonStr), &myData)

接下來,我們就可以將myData數(shù)組轉(zhuǎn)化為map數(shù)組:

myMap := make(map[string]string)
for _, data := range myData {
myMap[data.Key] = data.Value
}

最后,我們可以打印一下myMap:

fmt.Println(myMap)

完整代碼如下:

package main
import (
"fmt"
"encoding/json"
)
type MyData struct {
Key string `json:"key"`
Value string `json:"value"`
}
func main() {
jsonStr := `
[
{"key": "name", "value": "John"},
{"key": "age", "value": "30"},
{"key": "city", "value": "New York"}
]
`
var myData []MyData
err := json.Unmarshal([]byte(jsonStr), &myData)
if err != nil {
fmt.Println(err)
return
}
myMap := make(map[string]string)
for _, data := range myData {
myMap[data.Key] = data.Value
}
fmt.Println(myMap)
}