GO-从嵌套的JSON对象获取属性值的数组

In GO, how can I get an array of the ages from the json Data below

{
"people": {
    "female": [
        {
            "age": 31,
            "id": 1
        },
        {
            "age": 32,
            "id": 2
        }
    ],
    "male": [
        {
            "age": 33,
            "id": 3
        },
        {
            "age": 34,
            "id": 5
        }
    ]
}

}

End result should be a collection of ages eg. [31,32,33,34]

Create a struct that matches the layout and create the ages slice from it:

func main() {
    var s struct {
        People struct {
            Female []struct {
                Age int
            }
            Male []struct {
                Age int
            }
        }
    }
    err := json.Unmarshal([]byte(j), &s)
    var ages []int
    for _, p := range s.People.Female {
        ages = append(ages, p.Age)
    }
    for _, p := range s.People.Male {
        ages = append(ages, p.Age)
    }
    fmt.Println(err, ages)

}