using Newtonsoft.Json.Linq;
public static void Main()
""lorem ipsum Segment Groups"": [
""name"": ""lorem ipsum"",
""description"": ""lorem ipsum"",
""Started Enrollment – Zipcode Lookup"",
""Started Enrollment – Passed Flow Step 1"",
""Started Enrollment – Passed Flow Step 2""
""name"": ""lorem ipsum"",
""description"": ""Status Description"",
""Moving in next 30 days"",
""Moving in next 90 days"",
""name"": ""lorem ipsum"",
""description"": ""Interest description"",
""Interested - Lots of Time Reading Many Pages"",
""Interested - Lots of Time Comparing Products/Prices""
JObject obj = JObject.Parse(json);
JArray segmentGroups = (JArray)obj.Properties().FirstOrDefault()?.Value;
if (segmentGroups != null)
foreach (JObject group in segmentGroups.Children<JObject>())
string name = (string)group["name"];
string desc = (string)group["description"];
string[] segments = group["segments"]?.ToObject<string[]>();
Console.WriteLine("name: " + (name ?? "(null)"));
Console.WriteLine("description: " + (desc ?? "(null)"));
Console.WriteLine("segments: " + (segments != null ? "\n " + string.Join("\n ", segments) : "(null)"));