如何在结构中存储对象
How to store object in a struct
我不确定如何创建 struct
来存储正在发布到我的 API 的 JSON 对象。
JSON 看起来像这样:
{
"name" : "Mr Robinson",
"email" : "test@test.com",
"username" : "robbo123",
"properties" : {
"property1" : "a property",
"property2" : "another property"
},
"permissions" : ["perm1", "perm2", "perm3"]
}
可以有任意数量的 properties
并且 permissions
数组可以包含任意数量的值。
我正在使用它来解码发布的值:
err := json.NewDecoder(req.Body).Decode(my_struct)
到目前为止我的结构是这样的:
type User struct {
Name string `json:"name"`
Email string `json:"email"`
Username string `json:"username"`
}
您可以对属性使用 map[string]string
,对权限使用 []string
切片:
type User struct {
Name string `json:"name"`
Email string `json:"email"`
Username string `json:"username"`
Properties map[string]string `json:"properties"`
Permissions []string `json:"permissions"`
}
输出(包装):
{Name:Mr Robinson Email:test@test.com Username:robbo123
Properties:map[property1:a property property2:another property]
Permissions:[perm1 perm2 perm3]}
在 Go Playground 上试用完整的可运行应用程序。
我不确定如何创建 struct
来存储正在发布到我的 API 的 JSON 对象。
JSON 看起来像这样:
{
"name" : "Mr Robinson",
"email" : "test@test.com",
"username" : "robbo123",
"properties" : {
"property1" : "a property",
"property2" : "another property"
},
"permissions" : ["perm1", "perm2", "perm3"]
}
可以有任意数量的 properties
并且 permissions
数组可以包含任意数量的值。
我正在使用它来解码发布的值:
err := json.NewDecoder(req.Body).Decode(my_struct)
到目前为止我的结构是这样的:
type User struct {
Name string `json:"name"`
Email string `json:"email"`
Username string `json:"username"`
}
您可以对属性使用 map[string]string
,对权限使用 []string
切片:
type User struct {
Name string `json:"name"`
Email string `json:"email"`
Username string `json:"username"`
Properties map[string]string `json:"properties"`
Permissions []string `json:"permissions"`
}
输出(包装):
{Name:Mr Robinson Email:test@test.com Username:robbo123
Properties:map[property1:a property property2:another property]
Permissions:[perm1 perm2 perm3]}
在 Go Playground 上试用完整的可运行应用程序。