
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 ?只能依靠依次赋值吗? |