type Resp struct {
Code int
Result map[string]interface{}
}
type Info struct {
Uid string
PicInfo []Pic
Tags Tag
}
type Pic struct {
PicName string
PicSize int
}
type Tag struct {
TagType string
TagName string
}
用 Resp 把某个接口返回的数据加载 接口返回 json 例:
json
{
"Code": 1,
"Result": {
"Userid": 123,
"Pics": [
{
"PicName": "1.jpg",
"PicSize": 111
},
{
"PicName": "2.jpg",
"PicSize": 222
}
],
"TagType": "TypeA",
"TagName": "S"
}
}
另外
1
wingoo 2021-03-02 16:08:41 +08:00
1. 如果要完整的赋值, 应该需要一个新的 struct 来对应到 json 的结构
2. Userid -> Uid 名称不一样的问题 可以 tag 里面写 json 的 tag 即可 3. 如果仅仅是获取 json 中的某些值可以考虑 gjson 直接取不用再解析到 struct, 或者直接 map[string]interface |
2
lbaob 2021-03-02 19:39:48 +08:00
将
type Info struct { Uid string PicInfo []Pic Tags Tag } 修改为 type Info struct { Uid string PicInfo []Pic Tag } 并且使用 json tag 命名 json 字段名 |
3
tikazyq 2021-03-02 19:49:30 +08:00
interface{} 一把梭,直接扔进去
|
4
yellowmarlboro OP @wingoo 谢谢 ~
1. 如果新的 struct 对应 json 的话,如何把这个 新 struct 值赋值给 Info ?只能依靠依次赋值吗? |