Json 如何在结构中存储对象
我不知道如何创建一个Json 如何在结构中存储对象,json,struct,go,Json,Struct,Go,我不知道如何创建一个struct来存储正在发布到我的API的JSON对象 JSON如下所示: { "name" : "Mr Robinson", "email" : "test@test.com", "username" : "robbo123", "properties" : { "property1" : "a property", "property2" : "another property" }, "pe
struct
来存储正在发布到我的API的JSON对象
JSON如下所示:
{
"name" : "Mr Robinson",
"email" : "test@test.com",
"username" : "robbo123",
"properties" : {
"property1" : "a property",
"property2" : "another property"
},
"permissions" : ["perm1", "perm2", "perm3"]
}
type User struct {
Name string `json:"name"`
Email string `json:"email"`
Username string `json:"username"`
}
可以有任意数量的属性
,并且权限
数组可以包含任意数量的值
我用这个来解码发布的值:
err := json.NewDecoder(req.Body).Decode(my_struct)
到目前为止,我的结构如下所示:
{
"name" : "Mr Robinson",
"email" : "test@test.com",
"username" : "robbo123",
"properties" : {
"property1" : "a property",
"property2" : "another property"
},
"permissions" : ["perm1", "perm2", "perm3"]
}
type User struct {
Name string `json:"name"`
Email string `json:"email"`
Username string `json:"username"`
}
您可以对属性使用
map[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"`
}
输出(已包装):
在上尝试完整的可运行应用程序。您可以使用
映射[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"`
}
输出(已包装):
在上尝试完整的可运行应用程序