using Newtonsoft.Json.Converters;
using System.Collections.Generic;
public static void Main()
""Field1"": ""Field1Value"",
""Field2"": ""Field2Value"",
""Field3"": ""Field3Value"",
""BookName"": ""Computer Architecture"",
""Category"": ""Computers"",
""BookName"": ""Asp.Net 4 Blue Book"",
""Category"": ""Programming"",
""BookName"": ""Popular Science"",
""Category"": ""Science"",
""BookName"": ""Mission Impossible"",
""Category"": ""Adventure"",
""ClientFirstName"": ""Jane"",
""ClientLastName"": ""Doe"",
""BookName"": ""Computer Architecture"",
""Category"": ""Computers"",
""BookName"": ""Popular Science"",
""Category"": ""Science"",
""BookName"": ""Mission Impossible"",
""Category"": ""Adventure"",
""BookName"": ""Computer Architecture"",
""Category"": ""Computers"",
""BookName"": ""Mission Impossible"",
""Category"": ""Adventure"",
var converter = new ExpandoObjectConverter();
dynamic deserializeObject = JsonConvert.DeserializeObject<ExpandoObject>(jsonString, converter);
foreach (var model in deserializeObject.Model)
foreach (var table in model.Table)
if(table is KeyValuePair<string, object>)
foreach (var row in table.Value)
Console.WriteLine(row.BookId + ": " + row.BookName);
foreach (var row in table.Row)
Console.WriteLine(row.BookId + ": " + row.BookName);