import 'package:json_annotation/json_annotation.dart'; @JsonSerializable() class TrackSummary { @JsonKey(name: 'text') String text; @JsonKey(name: 'items', includeToJson: false) Map? items; TrackSummary({ required this.text, this.items, }); factory TrackSummary.fromJson(Map json) { final rawItems = json['items'] as List? ?? []; final parsedItems = {}; for (final item in rawItems) { if (item is Map) { final key = item['key']?.toString(); final value = item['value']?.toString(); if (key != null && value != null) { parsedItems[key] = value; } } } return TrackSummary( text: json['text'] ?? '', items: parsedItems, ); } }