import 'dart:convert'; class CountsByHourData { final Map<int, double> data; const CountsByHourData({ required this.data, }); factory CountsByHourData.fromJson(Map<String, dynamic>? json) { Map<int, double> data = {}; if (json?['counts-by-hour'] != null) { json?['counts-by-hour'].keys.forEach((day) { if (int.parse(day) != 24) { data[int.parse(day)] = double.parse(json['counts-by-hour'][day].toString()); } }); } return CountsByHourData(data: data); } Map<String, Object?>? toJson() { Map<String, double> map = {}; for (var day in data.keys) { double? value = data[day]; map[day.toString()] = value != null ? value.toDouble() : 0.0; } return {'counts-by-hour': map}; } @override String toString() { return jsonEncode(toJson()); } }