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

golang json 嵌套

謝彥文2年前9瀏覽0評論

Go語言中的JSON嵌套是非常常見的一種數據結構。通過這種結構,可以將一組相關屬性和值打包成一個可讀性好且易于使用的對象。JSON嵌套在Go語言中也得到了很好的支持。

在Go語言中,通過內置的“encoding/json”包可以輕松地解析JSON。JSON數據可以通過結構體的方式來解析。

type Person struct {
Name       string    `json:"name"`
Age        int       `json:"age"`
Occupation string    `json:"occupation"`
}
type Company struct {
Name       string    `json:"name"`
Location   string    `json:"location"`
Employees  []Person  `json:"employees"`
}
func main() {
data := `
{
"name": "ABC Co.",
"location": "New York",
"employees": [
{
"name": "John Doe",
"age": 30,
"occupation": "Engineer"
},
{
"name": "Jane Smith",
"age": 25,
"occupation": "Designer"
}
]
}
`
var company Company
err := json.Unmarshal([]byte(data), &company)
if err != nil {
fmt.Println(err)
}
fmt.Println(company.Name)
fmt.Println(company.Location)
for _, emp := range company.Employees {
fmt.Println(emp.Name)
fmt.Println(emp.Age)
fmt.Println(emp.Occupation)
}
}

在上面的示例中,定義了Person和Company兩個結構體。其中Company結構體包含了一個名為“employees”的Person結構體數組。這個數組可以通過JSON數據的嵌套來進行填充。

使用內置的json.Unmarshal函數,可以將JSON數據解碼,并填充到指定結構體中。在示例代碼的main函數中,將下面的JSON數據解碼到了Company結構體中:

{
"name": "ABC Co.",
"location": "New York",
"employees": [
{
"name": "John Doe",
"age": 30,
"occupation": "Engineer"
},
{
"name": "Jane Smith",
"age": 25,
"occupation": "Designer"
}
]
}

將上述JSON數據解析完成后,程序會輸出如下內容:

ABC Co.
New York
John Doe
30
Engineer
Jane Smith
25
Designer

可以看到,使用Go語言解析JSON數據是非常容易的。只需要定義好對應的結構體,然后使用內置的json.Unmarshal函數進行解碼即可。