Это помогло определить существует ли пользователь, т.к При существовании, всегда есть одно из полей которое заполнено, а следовательно пользователь существует к примеру его ID.
Но проблема состоит в том, что я не могу понять, как определить и обработать, нужный мне KEY в ответе если его нет.
И следовательно паника возникает из-за несуществующего KEY в ответе.
type User struct {
ID int `json:"id"`
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
Status string `json:"status"`
LastOnline *LastSeen `json:"last_seen"`
}
var userList []*User
json.Unmarshal(resp.Response, &userList)
c.String(http.StatusOK, userList[0].LastName)
Больше половины структуры может отсутствовать в ответе именно отсутствовать, а не возвращаться пустыми.
Все та же ошибка:
runtime error: index out of range
if item.online == "" {
item.online = "не указано"
}
Проблема в том, что в структуре он есть, но при ответе api может его вообще не отдать - то есть item.online в ответе может не существовать, как структуры
Еще проще:
Может отдать так:
[ online: "info", status: "info"]
А может так:
[ status: "info"]
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Так же может вернуть errror:
Но с error у меня нет проблем, т.к он всегда возвращает error_code и error_msg
Все это заворачивается так: