Прежде всего, я ценю вашу помощь. Мой код просто для получения результата этого json (который исходит от Restfull API).
Затем я должен десериализовать эти данные, чтобы сохранить их в базе данных.
Моя трудность понимает структуру возврата json, которая содержит верхний массив.
Примерно так:
{
"data": [
{
"id": 683,
"nome": "Premier League 19/20",
Моя структура: (я использовал https://mholt.github.io/json-to-go/) для обращайся за мной!
type Campeonato struct {
Data []struct {
ID int `json:"id"`
Nome string `json:"nome"`
NomeDaTaca string `json:"nomeDaTaca"`
Temporada string `json:"temporada"`
Categoria string `json:"categoria"`
TemClassificacao bool `json:"temClassificacao"`
TemClassificacaoPorGrupo bool `json:"temClassificacaoPorGrupo"`
TipoDeColeta string `json:"tipoDeColeta"`
FaseAtual string `json:"faseAtual"`
QuantidadeDeEquipes string `json:"quantidadeDeEquipes"`
RodadaAtual int `json:"rodadaAtual"`
QuantidadeDeRodadas int `json:"quantidadeDeRodadas"`
URLLogo string `json:"urlLogo"`
Pais interface{} `json:"pais"`
Sde struct {
CampeonatoID interface{} `json:"campeonato_id"`
EdicaoID interface{} `json:"edicao_id"`
} `json:"sde"`
} `json:"data"`
Pagination interface{} `json:"pagination"`
}
Мой код для демаршализации: он использует API, но у меня нет разрешения публиковать переменную токена носителя. Вы можете объяснить с помощью другого publi c API в качестве примера?
func main() {
url := "http://apifutebol.footstats.net/3.0/campeonatos"
var bearer = " - I don't have permission to publicate it - "
req, err := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", bearer)
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
log.Println("Error on response.\n[ERRO] -", err)
}
body, _ := ioutil.ReadAll(resp.Body)
//fmt.Println(string([]byte(body)))
var data []Campeonato
json.Unmarshal([]byte(body), &data)
}
Возвращение!
Большое вам спасибо!