Вот функция конвертера, которую вы можете использовать для преобразования вышеуказанных JSON данных в строго типизированный объект -
import 'dart:convert';
Map<String, Map<String, List<String>>> convertData(String json) {
//Our target type
Map<String, Map<String, List<String>>> convertedData = Map();
//Convert JSON String to Dynamic Map
Map<String, dynamic> jsonData = jsonDecode(json);
//Converted Function
jsonData.forEach((String key, dynamic value) {
convertedData.putIfAbsent(key, () {
Map<String, List<String>> data = Map();
value.forEach((String dataKey, dynamic dataValue) {
data.putIfAbsent(dataKey, () => List<String>.from(dataValue));
});
return data;
});
});
//Return the result
return convertedData;
}
Затем вы можете использовать эту функцию следующим образом -
main() {
//Our Sample Data
String sampleData = //JSON Data
"""{
"LEFT":{
"446927m":[
"2020-02-21T03:01:04.023+00:00",
"2020-02-13T21:42:29.829+00:00"
],
"536278n":[
"2019-10-04T07:06:09.878+00:00"
]
},
"MIDDLE":{
"938012c":[
"2020-02-21T00:59:37.909+00:00",
"2020-01-23T22:39:46.789+00:00",
"2020-02-06T23:12:33.197+00:00"
],
"920283b":[
"2020-02-07T04:16:39.994+00:00",
"2020-01-23T22:39:59.787+00:00"
]
},
"RIGHT":{
"192321k":[
"2020-02-20T21:31:32.437+00:00",
"2020-02-07T05:13:11.197+00:00"
]
}
}""";
print(convertData(sampleData));
}