package main import ( "encoding/json" "errors" "io/ioutil" ) func allFeedItems(url string) ([]string, error) { jsonFeed := &struct { Items []struct { Url string `json:"url"` } `json:"items"` }{} resp, err := client.Get(url) if err != nil { return nil, errors.New("failed to get json feed") } defer func() { _ = resp.Body.Close() }() body, err := ioutil.ReadAll(resp.Body) if err != nil { return nil, errors.New("failed to read json feed") } err = json.Unmarshal(body, &jsonFeed) if err != nil { return nil, errors.New("failed to parse json feed") } var allUrls []string for _, item := range jsonFeed.Items { allUrls = append(allUrls, item.Url) } return allUrls, nil }