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函數進行解碼即可。
下一篇html必須記的代碼