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

go json轉結構體

傅智翔2年前9瀏覽0評論

在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字符串,然后將其存儲在結構體中。這樣,我們就可以輕松地與數據進行交互啦!