package main import ( "encoding/json" "fmt" ) type User struct { ID int } var data = map[string][]byte{ "ok": []byte(`{"ID": 27}`), "fail": []byte(`{"ID": 27`), } func GetUser(key string) (*User, error) { if jsonStr, ok := data[key]; ok { user := &User{} err := json.Unmarshal(jsonStr, user) if err != nil { return nil, fmt.Errorf("Cant decode json") } return user, nil } return nil, fmt.Errorf("User doesnt exist") }