using System.Collections.Generic;
using System.Text.Json.Serialization;
const string inJson = @"[{
""firstName"": ""James"",
public static void Main()
var deserialized = JsonSerializer.Deserialize<List<JsonMember>>(inJson);
var asMembership = deserialized.Select(i => new Membership(i)).ToList();
foreach(var m in asMembership){
Console.WriteLine($"Group: {m.Group}");
Console.WriteLine($"Group: {m.State}");
Console.WriteLine($"Member Id: {m.Member.Id}");
Console.WriteLine($"Member First Name: {m.Member.FirstName}");
Console.WriteLine($"Member Last Name: {m.Member.LastName}");
public int Id { get; set; }
[JsonPropertyName("firstName")]
public string FirstName { get; set; }
[JsonPropertyName("lastName")]
public string LastName { get; set; }
[JsonPropertyName("group")]
public string Group { get; set; }
[JsonPropertyName("state")]
public string State { get; set; }
public Member Member { get; set; }
public string Group { get; set; }
public string State { get; set; }
public Membership(JsonMember jsonMember){
Group = jsonMember.Group;
State = jsonMember.State;
FirstName = jsonMember.FirstName,
LastName = jsonMember.LastName
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }