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

go定義json

錢淋西1年前8瀏覽0評論

在Go語言中,使用結構體來定義JSON對象。結構體成員變量的類型必須是支持JSON的基本類型,如字符串、整型、浮點型和布爾型等。

type User struct {
Name    string `json:"name"`
Age     int    `json:"age"`
Email   string `json:"email"`
Enabled bool   `json:"enabled"`
}

在上面的例子中,我們定義了一個名為User的結構體,該結構體有四個成員變量:Name、Age、Email和Enabled。在成員變量的后面,默認情況下使用反引號符包含一個json tag,該tag定義了成員變量在JSON對象中的名稱。

要將結構體實例轉換成JSON對象,可以使用Go語言的標準庫中的json包。下面是將User結構體實例轉換成JSON對象的示例代碼:

func main() {
user := User{
Name:    "Alice",
Age:     30,
Email:   "alice@example.com",
Enabled: true,
}
data, err := json.Marshal(user)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", data)
}

在上面的代碼中,我們定義了一個名為user的User結構體實例,然后使用json.Marshal()函數將其轉換成JSON對象。如果轉換成功,則將結果輸出到標準輸出中。

要將JSON字符串轉換成結構體實例,可以使用json.Unmarshal()函數。下面是將JSON字符串轉換成User結構體實例的示例代碼:

func main() {
jsonstr := `{"name":"Alice","age":30,"email":"alice@example.com","enabled":true}`
var user User
err := json.Unmarshal([]byte(jsonstr), &user)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", user)
}

在上面的代碼中,我們定義了一個名為jsonstr的字符串,它包含表示User結構體實例的JSON對象。然后,我們使用json.Unmarshal()函數將其轉換為User結構體實例,并將其輸出到標準輸出中。