Я хочу получить доступ к этому полю в очень красивом ассоциативном массиве обозначений, таком как Res ["users"] [0] .Name или что-то в этом роде.
Как уже упоминалось в комментариях, возможно, самый хороший способ будет использовать структуры
type User struct {
Name string `json:"name"`
Type string `json:"type"`
Age int `json:"age"`
Social struct {
Facebook string `json:"facebook"`
Twitter string `json:"twitter"`
} `json:"social"`
}
type Config struct {
Users []User `json:"users"`
}
rawJSON := []byte(`{...your config JSON in here...}`)
config := Config{}
if err := json.Unmarshal(rawJSON, &config); err != nil {
log.Fatal(err)
}
user := config.Users[0]
fmt.Printf(
"name: %s, type: %s, age: %d, facebook: %s, twitter: %s\n",
user.Name,
user.Type,
user.Age,
user.Social.Facebook,
user.Social.Twitter,
)
Результат:
name: Elliot, type: Reader, age: 23, facebook: https://facebook.com, twitter: https://twitter.com
Игровая площадка Go