在Go語言中,JSON轉結構體是一項非常常見的任務。在處理JSON數據時,我們需要將其解析為一個結構體并將其存儲在內存中。這樣,我們就可以更方便地對數據進行操作。
下面是一個簡單的例子,演示了如何將JSON字符串轉換為結構體:
type Person struct { Name string `json:"name"` Age int `json:"age"` } jsonStr := `{ "name": "Alice", "age": 20 }` var person Person err := json.Unmarshal([]byte(jsonStr), &person) if err != nil { fmt.Println("error:", err) } fmt.Println(person.Name, person.Age)
在這個例子中,我們定義了一個結構體Person,它有兩個字段(Name和Age),并使用`json`標記指定了它們在JSON中的名稱。然后,我們使用`json.Unmarshal`函數將JSON字符串解析并存儲在結構體中。最后,我們打印出Person的兩個字段值。
如果JSON中包含數組,我們可以使用切片代替結構體:
type Person struct { Name string `json:"name"` Age int `json:"age"` } type People []Person jsonStr := `[{"name": "Alice", "age": 20},{"name": "Bob", "age": 30}]` var people People err := json.Unmarshal([]byte(jsonStr), &people) if err != nil { fmt.Println("error:", err) } fmt.Println(people[0].Name, people[0].Age) fmt.Println(people[1].Name, people[1].Age)
在這個例子中,我們定義了一個切片類型People,其元素是Person結構體。然后,我們使用`json.Unmarshal`函數將JSON字符串解析并存儲在切片中。最后,我們打印出People的兩個元素的字段值。
總的來說,JSON轉結構體在Go語言中非常方便和簡單。只需要定義一個與JSON格式匹配的結構體,使用`json.Unmarshal`函數解析JSON字符串,然后將其存儲在結構體中。這樣,我們就可以輕松地與數據進行交互啦!
上一篇html幻燈播放代碼
下一篇html幸運大轉盤代碼