Мне было интересно, как получить данные JSON в массиве массива.
Я хочу иметь возможность получать группы на основе group_id
и перечислять всех пользователей в этом group_id
, а также все их учетные данные. Вот как выглядит структура данных json:
{
"groups": [
{
"group_id": 736,
"members": [
{
"user_id": 1,
"email": "jdoe@test.com",
"first_name": "John",
"last_name": "Doe"
},
{
"user_id": 14,
"email": "Hf@gmail.com",
"first_name": "Be",
"last_name": "Hg"
},
{
"user_id": 10,
"email": "Tea@gmail.com",
"first_name": "Sugar",
"last_name": "Tea"
}
]
},
{
"group_id": 737,
"members": [
{
"user_id": 3,
"email": "kentt@test.com",
"first_name": "Kent",
"last_name": "Torrel"
},
{
"user_id": 12,
"email": "Chh",
"first_name": "Dog",
"last_name": "Go"
},
{
"user_id": 15,
"email": "",
"first_name": "",
"last_name": ""
}
]
},
{
"group_id": 738,
"members": [
{
"user_id": 6,
"email": "rajpaj@test.com",
"first_name": "Raj",
"last_name": "Parikh"
},
{
"user_id": 2,
"email": "vt@test.com",
"first_name": "Vathana",
"last_name": "Him"
},
{
"user_id": 11,
"email": "Tea@gmail.com",
"first_name": "Sugar",
"last_name": "Tea"
}
]
},
{
"group_id": 739,
"members": [
{
"user_id": 13,
"email": "Hdh",
"first_name": "Ou",
"last_name": "Hm"
},
{
"user_id": 9,
"email": "lk@test.com",
"first_name": "Larry",
"last_name": "Jones"
},
{
"user_id": 4,
"email": "mcruz@test.com",
"first_name": "Megan",
"last_name": "Cruz"
}
]
},
{
"group_id": 740,
"members": [
{
"user_id": 8,
"email": "janejanej@test.com",
"first_name": "Jajsdjao",
"last_name": "Doe"
},
{
"user_id": 16,
"email": "",
"first_name": "",
"last_name": ""
},
{
"user_id": 5,
"email": "lbenjaminz@test.com",
"first_name": "Liron",
"last_name": "Benjamin"
}
]
}
]
}
Пока это то, что у меня есть, но это только потянет пользователя group_id
в первый индекс. Я пытался использовать "item.members.user_id", но ничего не появляется.
constructor(props) {
super(props);
this.state = {
isLoading: false,
dataSource: null,
}
}
componentDidMount(){
return fetch('https://strengthn-backend.herokuapp.com/activeGroups')
.then((response) => response.json())
.then((responseJson) => {
this.setState({
isLoading: false,
dataSource: responseJson.groups,
})
})
.catch((error) => {
console.error(error);
});
}
addPerson() {
if (this.state.isLoading) {
return (
<List>
{console.log(this.state.dataSource)}
<FlatList
data={this.state.dataSource}
renderItem={({item})=> (
<Text>{item.members[0].user_id}</Text>
)}
/>
</List>
)
}