Beego httplib.get filter JSON - PullRequest
       22

Beego httplib.get filter JSON

0 голосов
/ 08 сентября 2018

Я новичок в Голанге, и у меня проблема. Я использую пакет github.com/astaxie/beego/httplib, попробуйте получить информацию от API

res := httplib.Get("example.com")

type SomeStruct struct {
   Type string
   Id string
   // ...
}

var itemStruct SomeStruct

err := res.ToJSON(&itemStruct)

Проблема: в поле идентификатора ответа API может быть строка или число (в зависимости от поля типа), поэтому я получаю ошибку json: cannot unmarshal number into Go value of type string. Я думаю, я должен отфильтровать ответ перед методом ToJSON. Или я должен создать структуру только с полем Type, получить данные из API, отфильтровать по Type. Но как в этом случае получить другие поля? Спасибо

1 Ответ

0 голосов
/ 08 сентября 2018

Будет ли работать Type типа interface{}?

Приведение в go довольно чисто, поэтому вы можете выполнять итерации и приведение при использовании типа

for _, s := ss {
    switch v := s.Type.(type) {
    case string:
        // Do something
    cast int:
        // Do something else
    default:
        // Handle unexpected type gracefully.
    }
}
...