У меня есть:
type User struct {
UID int `json:"id"`
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
Sex int `json:"sex"`
Nickname string `json:"nickname"`
ScreenName string `json:"screen_name"`
BDate string `json:"bdate"`
}
код:
var userList []*User
json.Unmarshal(resp.Response, &userList)
ответ сервера может быть:
[{"id":1,"first_name":"name","last_name":"last","sex":2,"nickname":"","screen_name":"screen","bdate":"1.1.1"}]
или
[{"id":1,"first_name":"name","sex":2,"nickname":"","screen_name":"screen"}]
моя проблема при вызове несуществующей ошибки выполнения KEY "userList[0].LastName
":
error: index out of range
, в первом случае сервер вернул:
"last_name":"last" and "bdate":"1.1.1"
, во втором нет
Когда нет пользователя, сервер возвращает.
[{"error_code": 0, "error_msg": "Invalid user id"}]
ответ:
if len(userList) > 0 {
c.String(http.StatusOK, "People name: %s", userList[0].FirstName)
} else {
c.String(http.StatusOK, "No People: %s", login)
}
Спасибо Magestro