Тип * NewsAnswer не поддерживает индексирование при попытке ранжирования по структуре - PullRequest
0 голосов
/ 02 апреля 2020

я определил структуру, как показано ниже

type NewsAnswer struct {
    ReadLink              string           `json:"readLink"`
    QueryContext          queryContextJson `json:"queryContext"`
    TotalEstimatedMatches int              `json:"totalEstimatedMatches"`
    Sort                  []sortJson       `json:"sort"`
    Value                 []valueJson      `json:"value"`
}

type queryContextJson struct {
    OriginalQuery string `json:"originalQuery"`
    AdultIntent   bool   `json:"adultIntent"`
}

type sortJson struct {
    Name       string `json:"name"`
    ID         string `json:"id"`
    IsSelected bool   `json:"isSelected"`
    URL        string `json:"url"`
}

type valueJson struct {
    Name          string         `json:"name"`
    URL           string         `json:"url"`
    Image         imageJson      `json:"image"`
    Description   string         `json:"description"`
    Provider      []providerJson `json:"provider"`
    DatePublished string         `json:"datePublished"`
}

type imageJson struct {
    Thumbnail thumbnailJson `json:"thumbnail"`
}

type thumbnailJson struct {
    ContentUrl string `json:"thumbnail"`
    Width      int    `json:"width"`
    Height     int    `json:"height"`
}

type providerJson struct {
    Type string `json:"_type"`
    Name string `json:"name"`
}

Я получаю JSON в ответе API Я преобразовал JSON в структуру, как показано ниже

body, err := ioutil.ReadAll(resp.Body)
if err != nil {
    panic(err)
}

ans := new(NewsAnswer)
err = json.Unmarshal(body, &ans)
if err != nil {
  fmt.Println(err)
}

Теперь я хочу l oop через данные в value, поэтому я пытаюсь сделать диапазон, как показано ниже

for index, value := range ans["value"] {}

, но получаю эту ошибку type *NewsAnswer does not support indexing что мне делать?

1 Ответ

2 голосов
/ 02 апреля 2020

Вы должны указывать диапазон Value напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...