数据结构 1
type User struct {
Name string `json:"name"`
Age int `json:"age"`
}
user1 := User{
Name: "zhangsan",
Age: 18,
}
user2 := User{
Name: "lisi",
Age: 20,
}
arr1 := []User{user1, user2}
数据结构 2
arr2 := []int{1, 2, 3, 4, 5}
封装返回
type JsonResponse struct {
Code int `json:"code"`
Data interface{} `json:"data,omitempty"`
}
str, _ := json.Marshal(JsonResponse{
Code: code,
Message: message,
Data: data,
})
数据结构 1 期待返回的结果是
{
"code": 0,
"data": [1, 2, 3, 4, 5]
}
实际返回的是
{
"code": 0,
"data": [[1, 2, 3, 4, 5]]
}
数据结构 2 期待返回的结果是
{
"code": 0,
"data": [
{"name": "zhangsan", "age": 18},
{"name": "lisi", "age": 20}
]
}
实际返回的结果是
{
"code": 0,
"data": [
[
{
"name": "zhangsan",
"age": 18
},
{
"name": "lisi",
"age": 20
}
]
]
}
data 外面都会套一层[]
但是 data 数据类型又不是固定的
所以用到了 interface{}
刚接触 go 对 json 处理不太熟悉 还请各位大佬指导
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.