public static ArtistMember Create(JsonElement element) { ArtistMember member = new ArtistMember(); foreach (var property in element.EnumerateObject()) { switch (property.Name) { case "active": member.IsActive = property.Value.GetBoolean(); break; case "resource_url": member.ResourceURL = property.Value.GetString(); break; case "id": member.Id = property.Value.GetInt32(); break; case "name": member.Name = property.Value.GetString(); break; default: throw new Exception(string.Format("Unrecognised parameter when creating the Discogs ArtistMember Object. Parameter is: {0}", property.Name)); } } return(member); }
static public Artist Create(string jsonIn) { Artist artist = new Artist(); var obj = JsonDocument.Parse(jsonIn).RootElement; foreach (var item in obj.EnumerateObject()) { switch (item.Name) { case "urls": artist.URLs = new List <string>(); foreach (var arrayItem in item.Value.EnumerateArray()) { artist.URLs.Add(arrayItem.GetString()); } break; case "profile": artist.Pofile = item.Value.GetString(); break; case "releases_url": artist.ReleasesURL = item.Value.GetString(); break; case "name": artist.Name = item.Value.GetString(); break; case "uri": artist.WebURL = item.Value.GetString(); break; case "members": artist.Members = new List <ArtistMember>(); foreach (var member in item.Value.EnumerateArray()) { artist.Members.Add(ArtistMember.Create(member)); } break; case "images": artist.Images = new List <Image>(); foreach (var member in item.Value.EnumerateArray()) { artist.Images.Add(Image.Create(member)); } break; case "resource_url": artist.ResourceURL = item.Value.GetString(); break; case "id": artist.id = item.Value.GetInt32(); break; case "data_quality": artist.DataQuality = item.Value.GetString(); break; default: throw new Exception(string.Format("Unrecognised parameter when creating the Discogs Artist Object. Parameter is: {0}", item.Name)); } } return(artist); }