2

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]

1 Answer 1

3

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)

}
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.