2014-10-23 4 views
1

В GO, как я могу получить массив в возрасте от JSon данных нижеGO - Получить массив значений атрибутов из вложенного объекта JSON

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

}

Конечный результат должен быть сбор возрастов, например. [31,32,33,34]

ответ

2

Создать структуру, которая соответствует размещению и создать возрасты нарежьте из него:

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) 

} 
Смежные вопросы