Track.fromJson constructor
Implementation
factory Track.fromJson(Map<String, dynamic> json) {
return Track(
id: json['id'],
name: json['name'],
durationMs: json['duration_ms'],
isExplicit: json['explicit'],
isPlayable: json['is_playable'] ?? true,
popularity: json['popularity'] ?? 0,
previewUrl: json['preview_url'],
discNumber: json['disc_number'],
trackNumber: json['track_number'],
isLocal: json['is_local'] ?? false,
spotifyUrl: json['external_urls']['spotify'],
artists: (json['artists'] as List<dynamic>)
.map((a) => Artist.fromJson(a))
.toList(),
album: Album.fromJson(json['album']),
availableMarkets: (json['available_markets'] as List<dynamic>?)
?.map((e) => e.toString())
.toList(),
externalIds: json['external_ids'] != null
? ExternalIds.fromJson(json['external_ids'])
: null,
images: List<String>.from(
(json['album']['images'] ?? []).map((img) => img['url']),
),
);
}