Я пытаюсь создать класс модели для значений динамического ключа, исходящих из конечной точки или JSON, но он всегда возвращает мне нулевое значение, если я печатаю значение, то значение выводится на печать, пожалуйста, помогите друзьям
Я попробовал Карты и список, а также использовал для каждого элемента
Вот мой JSON https://events.xelits.com/api/westeraf/agenda
{
"Agenda": [
{
"session1": [
{
"id": 1,
"time": "7:45-7:57 AM",
"startTime": "7:45-",
"endTime": "7:57",
"name": "ATRIAL FIBRILLATION: I'VE SEEN IT ALL! ",
"designation": "Eric N. Prystowsky, MD",
"download": "https://westernaf.com/wp-content/uploads/2019/02/AF-Utah-2-19-AFIve-seen-it-all.ppt"
},
{
"id": 2,
"time": "7:57-8:09 AM",
"startTime": "7:57-",
"endTime": "8:09",
"name": "MOLECULAR CARDIAC TISSUE REMODELING AFTER ABLATION OF AF IN HEART FAILURE",
"designation": "Michael R. Bristow, MD, PhD",
"download": "https://westernaf.com/wp-content/uploads/2019/02/Bristow_WAF-Park-City-2-22-19-Final-WS.pptx"
},
{
"id": 3,
"time": "8:09-8:21 AM",
"startTime": "8:09-",
"endTime": "8:21",
"name": "DECAAF II UPDATE",
"designation": "Dave Wilber, MD",
"download": "https://westernaf.com/wp-content/uploads/2019/02/Wilber-DECAAF-UPDATE-2019.pptx"
},
{
"id": 4,
"time": "8:21-8:32 AM",
"startTime": "8:21-",
"endTime": "8:32 ",
"name": "LAA CLOSURE: BEYOND THE BLEEDING PATIENT",
"designation": "Rahul N. Doshi, MD, FACC, FHRS",
"download": "https://westernaf.com/wp-content/uploads/2019/02/Doshi-WAF-2019.pptx"
},
{
"id": 5,
"time": "8:32-8:44 AM",
"startTime": "8:32-",
"endTime": "8:44",
"name": "AI IN CARDIOLOGY: FINDING WHAT'S HIDDEN IN PLAIN SIGHT AND PEERING INTO THE FAILURE",
"designation": "Zachi I Attia, MSc",
"download": "https://westernaf.com/wp-content/uploads/2019/02/1-Attia.pptx"
}
],
"session2": [
{
"id": 6,
"time": "7:45-7:57 AM",
"startTime": "7:45-",
"endTime": "7:57",
"name": "ATRIAL FIBRILLATION: I'VE SEEN IT ALL! ",
"designation": "Eric N. Prystowsky, MD",
"download": "https://westernaf.com/wp-content/uploads/2019/02/AF-Utah-2-19-AFIve-seen-it-all.ppt"
},
{
"id": 7,
"time": "7:57-8:09 AM",
"startTime": "7:57-",
"endTime": "8:09",
"name": "MOLECULAR CARDIAC TISSUE REMODELING AFTER ABLATION OF AF IN HEART FAILURE",
"designation": "Michael R. Bristow, MD, PhD",
"download": "https://westernaf.com/wp-content/uploads/2019/02/Bristow_WAF-Park-City-2-22-19-Final-WS.pptx"
},
{
"id": 8,
"time": "8:09-8:21 AM",
"startTime": "8:09-",
"endTime": "8:21",
"name": "DECAAF II UPDATE",
"designation": "Dave Wilber, MD",
"download": "https://westernaf.com/wp-content/uploads/2019/02/Wilber-DECAAF-UPDATE-2019.pptx"
},
{
"id": 9,
"time": "8:21-8:32 AM",
"startTime": "8:21-",
"endTime": "8:32 ",
"name": "LAA CLOSURE: BEYOND THE BLEEDING PATIENT",
"designation": "Rahul N. Doshi, MD, FACC, FHRS",
"download": "https://westernaf.com/wp-content/uploads/2019/02/Doshi-WAF-2019.pptx"
},
{
"id": 10,
"time": "8:32-8:44 AM",
"startTime": "8:32-",
"endTime": "8:44",
"name": "AI IN CARDIOLOGY: FINDING WHAT'S HIDDEN IN PLAIN SIGHT AND PEERING INTO THE FAILURE",
"designation": "Zachi I Attia, MSc",
"download": "https://westernaf.com/wp-content/uploads/2019/02/1-Attia.pptx"
}
]
}
],
"Agenda2": [
{
"session1": [
{
"id": 1,
"time": "07:00-07:12 AM",
"startTime": "7:00-",
"endTime": "07:12",
"name": "NOVEL CONCEPTS IN ATRIAL IMAGE PROCESSING USING MACHINE LEARNING IN AF",
"designation": "Alan Morris, MS",
"download": "https://westernaf.com/wp-content/uploads/2019/02/700_Morris2019WAF.pptx"
},
{
"id": 2,
"time": "07:12-07:24 AM",
"startTime": "7:12-",
"endTime": "07:24",
"name": "ABLATE AF BEFORE IT'S TOO LATE!",
"designation": "Oussama Wazni, MD ",
"download": "https://westernaf.com/wp-content/uploads/2019/02/712_ablateearly2019-gray.pptx"
},
{
"id": 3,
"time": "07:24-07:36 AM",
"startTime": "07:24-",
"endTime": "07:36",
"name": "GUIDELINE UPDATE AFTER CABANA & CASTLE IS NEEDED!",
"designation": "Gerhard Hindricks, Prof. Dr",
"download": "http://westernaf.com/upload_files/session9/724_Western AF Guidelines Park City 2019.pptx"
},
{
"id": 4,
"time": "07:36-07:48 AM",
"startTime": "7:36-",
"endTime": "07:48",
"name": "PERSISTENT AF ABLATION USING A NEW & PRACTICAL APPROACH",
"designation": "Pierre Jais, MD",
"download": "http://westernaf.com/upload_files/session9/736_Jais.pptx"
},
{
"id": 5,
"time": "07:48-08:12 AM",
"startTime": "7:48-",
"endTime": "08:12",
"name": "DEBATE: NEW OAC OR LAAC IF A PATIENT BLEEDS ON OAC?",
"designation": "NEW OAC: Stacy A. Johnson, MD LAA CLOSURE: Boris Schmidt, MD",
"download": "https://westernaf.com/wp-content/uploads/2019/02/748_2_LAA_AFTER_BLEEDING_02_19.pptx"
}
],
"session2": [
{
"id": 6,
"time": "07:00-07:12 AM",
"startTime": "7:00-",
"endTime": "07:12",
"name": "NOVEL CONCEPTS IN ATRIAL IMAGE PROCESSING USING MACHINE LEARNING IN AF",
"designation": "Alan Morris, MS",
"download": "https://westernaf.com/wp-content/uploads/2019/02/700_Morris2019WAF.pptx"
},
{
"id": 7,
"time": "07:12-07:24 AM",
"startTime": "7:12-",
"endTime": "07:24",
"name": "ABLATE AF BEFORE IT'S TOO LATE!",
"designation": "Oussama Wazni, MD ",
"download": "https://westernaf.com/wp-content/uploads/2019/02/712_ablateearly2019-gray.pptx"
},
{
"id": 8,
"time": "07:24-07:36 AM",
"startTime": "07:24-",
"endTime": "07:36",
"name": "GUIDELINE UPDATE AFTER CABANA & CASTLE IS NEEDED!",
"designation": "Gerhard Hindricks, Prof. Dr",
"download": "http://westernaf.com/upload_files/session9/724_Western AF Guidelines Park City 2019.pptx"
},
{
"id": 9,
"time": "07:36-07:48 AM",
"startTime": "7:36-",
"endTime": "07:48",
"name": "PERSISTENT AF ABLATION USING A NEW & PRACTICAL APPROACH",
"designation": "Pierre Jais, MD",
"download": "http://westernaf.com/upload_files/session9/736_Jais.pptx"
},
{
"id": 10,
"time": "07:48-08:12 AM",
"startTime": "7:48-",
"endTime": "08:12",
"name": "DEBATE: NEW OAC OR LAAC IF A PATIENT BLEEDS ON OAC?",
"designation": "NEW OAC: Stacy A. Johnson, MD LAA CLOSURE: Boris Schmidt, MD",
"download": "https://westernaf.com/wp-content/uploads/2019/02/748_2_LAA_AFTER_BLEEDING_02_19.pptx"
}
]
}
]
}
]
Here endpoint is that Session 1 will be the session heading and an array of values will be list in it
Here code I have tried
class Agenda {
final List<SessionAgenda> particularAgenda;
const Agenda({this.particularAgenda});
factory Agenda.fromJson(List<dynamic> json) {
if (json == null) return null;
var mainResponse = json[0];
var agenda = mainResponse['Agenda'] as List;
agenda[0].forEach((key, value) => print('Key: $key'));
// List<SessionAgenda> sessionagendalist1 = agenda[0].forEach((key, value) =>
// value.map((sessionAgenda) => plist.add(value)).toList());
// SessionAgenda.fromJson(key, mainResponse['Agenda'][0][key])
// value.map((sessionAgenda) => print(sessionAgenda[key])).toList()
List<SessionAgenda> sessionagendalist2 = agenda[0].forEach((key, value) =>
value
.map((sessionAgenda) => SessionAgenda.fromJson(key, value))
.toList());
print(sessionagendalist2.toString());
return Agenda(
particularAgenda: sessionagendalist2,
);
}
}
class SessionAgenda {
final String keyvalue;
final List<ParticularAgenda> particularAgenda;
const SessionAgenda({this.keyvalue, this.particularAgenda});
factory SessionAgenda.fromJson(
String keyvalue, List<ParticularAgenda> particularAgenda) {
return SessionAgenda(
keyvalue: keyvalue, particularAgenda: particularAgenda);
}
}
class ParticularAgenda {
final int id;
final String time;
final String startTime;
final String endTime;
final String name;
final String designation;
final String download;
const ParticularAgenda({
this.id,
this.time,
this.name,
this.designation,
this.download,
this.startTime,
this.endTime,
});
factory ParticularAgenda.fromJson(Map<String, dynamic> parsedJson) {
return ParticularAgenda(
id: parsedJson['id'],
time: parsedJson['time'],
name: parsedJson['name'],
designation: parsedJson['designation'],
download: parsedJson['download'],
startTime: parsedJson['startTime'],
endTime: parsedJson['endTime'],
);
}
}
Я получаю нулевое значение, когда возвращаюсь в список, если я печатаюзначения это печатается