[问与答] Go 处理 Json 有比较优雅的方式吗?结构体好麻烦

通过请求体:{"tags":["baidu"],"item_id":8}得到了一个 json 的返回值:

{ "data": { "baidu": { "sdus": [ { "sdu_name": "hello-redis-live", "service_id": 12, "owners": [ "132@123.com" ], "sdu_id": 17, "service": "tech.cto.redis" }, { "sdu_name": "good-worker-live", "service_id": 10, "owners": [ "132@123.com" ], "sdu_id": 159, "service": "tech.cto.retoc.worker" } ] } }, "error": 0
}

其中,tags 的值baidu的请求,导致每次返回的 Json 里baidu会随之改变。

我用 go 该怎么样才能只取"sdu_name""service"呢?

json.unmarshall 没办法处理~

我尝试构造了几次结构体,但是只要 tags:baidu一变化,请求体就没办法处理了~

type Service struct { Data Data `json:"data"` Error int64 `json:"error"`
} type Data struct { Baidu Baidu `json:"baidu"`
} type Baidu struct { Sdus []Sdus `json:"sdus"`
} type Sdus struct { SduName string `json:"sdu_name"` ServiceID int64 `json:"service_id"` Owners []string `json:"owners"` SduID int64 `json:"sdu_id"` Service string `json:"service"` } 

发表评论

您的电子邮箱地址不会被公开。