【发布时间】:2021-05-15 18:19:42
【问题描述】:
我正在调用 API 并获取 json,但不知道如何为响应创建结构我使用 JSON-to-GO 来获取响应的结构。但问题是每次的反应都不一样。 例如,我有一个使用 JSON-to-GO 的结构:-
type Autogenerated struct {
Response struct {
Results struct {
Status string `json:"status"`
StatusCode int `json:"status_code"`
ResultsData struct {
ResultsCount int `json:"results_count"`
NearbyCount int `json:"nearby_count"`
} `json:"results_data"`
SortData struct {
SortBy string `json:"sort_by"`
} `json:"sort_data"`
ResponseData struct {
Data0 struct {
Name string `json:"name"`
} `json:"data_0"`
Data1 struct {
Name string `json:"name"`
} `json:"data_1"`
} `json:"response_data"`
Time float64 `json:"time"`
} `json:"results"`
} `json:"response"`
}
Data1 和 Data0 可以更像 Data2, Data3.... 并且我想要 Data0, Data1 .... 内的 Name 我对 golang 很陌生,也许我们可以使用 Map,但由于一直不一样,我不知道该怎么做。还有很多与 Name 一起提交的文件,我没有在此处粘贴以保持问题清晰。
【问题讨论】:
-
对该部分使用地图。
-
你的意思是说我可以在 ResponseData 之前保持相同的结构,并且在其中我可以使用 Map?一个小插图会很有帮助。
-
是的,例如,您应该将
ResponseData struct { ... }替换为ResponseData map[string]interface{}。 -
或者
map[string]struct { ... }