Я новичок, чтобы трепетать. Мне нужно разобрать json, который приведен ниже. Мне нужно установить гендерный список на radiobutton и documentlist на раскрывающийся список . Я получаю данные из API и установить для sharedPreference. Но я получаю только последнее значение индекса, т.е. Другое и Паспорт . Как я могу установить половой список для radiobutton, а список документов для раскрывающегося списка с defaultText «Выберите личность». Я создал pojo из здесь . Я реализовал следующим образом:
Мои данные API:
{
"status": "success",
"message": "Data Fetched",
"data": {
"genderlist": [
{
"id": 1,
"name": "Male",
"status": 1
},
{
"id": 2,
"name": "Female",
"status": 1
},
{
"id": 3,
"name": "Other",
"status": 1
}
],
"docuemntlist": [
{
"id": 1,
"name": "National Id",
"status": 1
},
{
"id": 2,
"name": "Passport",
"status": 1
}
]
}
}
Я получил API следующим образом:
Future<JoinDataResponse> getDocs() async {
var jsonResponse;
JoinDataResponse joinDataResponse;
var response = await http.get(
"URL");
if (response.statusCode == 200) {
jsonResponse = json.decode(response.body);
if (jsonResponse != null) {
joinDataResponse = new JoinDataResponse.fromJson(jsonResponse);
return joinDataResponse;
} else {
return null;
}
} else {
jsonResponse = json.decode(response.body.toString());
joinDataResponse = new JoinDataResponse.fromJson(jsonResponse);
print("forget outside 200");
return joinDataResponse;
}
}
Моя функция getAPi
void getDocuments() async {
JoinDataResponse response = await getDocs();
if (response != null && response.data != null) {
SharedPreferences sharedPreferences =
await SharedPreferences.getInstance();
List<Genderlist> genderList = response.data.genderlist;
List<Docuemntlist> docsList = response.data.docuemntlist;
for (int i = 0; i < genderList.length; i++) {
int id = genderList[i].id;
String gender = genderList[i].name;
sharedPreferences.setString("gender", gender);
print(gender);
}
for (int i = 0; i < docsList.length; i++) {
String docs = docsList[i].name;
sharedPreferences.setString("docs", docs);
print(docs);
}
print(sharedPreferences.getString("gender"));
print(sharedPreferences.getString("docs"));
}
}