using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.ComponentModel;
using System.Xml.Serialization;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Serialization;
""R_3dSKpqkb0JuH0TW"":{""ResponseSet"":""Default Response Set"",""Name"":""John, Smith"",""ExternalDataReference"":""811221273"",""EmailAddress"":""smithaa@gmail.com"",""IPAddress"":""123.232.12.21"",""Status"":"""",""StartDate"":""2015-07-06 11:10:26"",""EndDate"":""2015-07-06 11:10:55"",""Finished"":""1"",""RecipientEmail"":""smithaa@gmail.com"",""RecipientLastName"":""John"",""RecipientFirstName"":""Smith"",""MI"":""Mia"",""EntryTerm"":"""",""Classification"":"""",""Type"":"""",""MajorCode"":"""",""Major"":"""",""DeptCode"":"""",""Dept"":"""",""College"":"""",""Age"":"""",""Ethnicity"":"""",""Gender"":"""",""CB1"":"""",""PIDM"":""71121027"",""Military"":"""",""OrientationDate"":""4\/7\/2016"",""H1"":1,""H2"":1,""H3"":2,""H4"":2,""H5"":"""",""Q1"":"""",""Q2"":"""",""Q3_1"":"""",""Q3_2"":"""",""Q3_3"":"""",""Q3_4"":"""",""Q3_5"":"""",""Q3_6"":"""",""Q3_7"":"""",""Q3_7_TEXT"":"""",""Q4_1"":"""",""Q4_2"":"""",""Q4_3"":"""",""Q4_4"":"""",""Q4_5"":"""",""Q4_6"":"""",""Q4_7"":"""",""Q4_8"":"""",""Q4_9"":"""",""Q4_10"":"""",""Q4_11"":"""",""Q4_12"":"""",""Q4_12_TEXT"":"""",""Q5"":"""",""Q5_TEXT"":"""",""Q6_1"":"""",""Q6_2"":"""",""Q6_3"":"""",""Q7"":"""",""Q8"":"""",""Q9"":"""",""Q10_1"":"""",""Q10_2"":"""",""Q10_3"":"""",""Q10_4"":"""",""Q11_1"":"""",""Q11_2"":"""",""Q11_3"":"""",""Q11_4"":"""",""Q12_1"":"""",""Q12_2"":"""",""Q12_3"":"""",""Q12_4"":"""",""Q13"":"""",""Q13_TEXT"":"""",""Q14"":"""",""Q14_TEXT"":"""",""Q15_1"":"""",""Q15_2"":"""",""Q15_3"":"""",""Q15_4"":"""",""Q15_5"":"""",""Q15_6"":"""",""Q15_7"":"""",""Q15_8"":"""",""Q16_1"":"""",""Q16_2"":"""",""Q16_3"":"""",""Q16_4"":"""",""Q16_5"":"""",""Q16_6"":"""",""Q16_7"":"""",""Q16_8"":"""",""Q17_1"":"""",""Q17_2"":"""",""Q17_3"":"""",""Q17_4"":"""",""Q17_5"":"""",""Q17_6"":"""",""H6"":"""",""Q18_1"":"""",""Q18_2"":"""",""Q18_3"":"""",""Q19_1"":"""",""Q19_2"":"""",""Q19_3"":"""",""Q19_4"":"""",""Q20"":"""",""Q21_1"":"""",""Q21_2"":"""",""Q22_1"":"""",""Q22_2"":"""",""Q23_1"":"""",""Q23_2"":"""",""Q23_3"":"""",""Q23_4"":"""",""Q24"":"""",""Q24_TEXT"":"""",""Q25"":"""",""Q26"":"""",""Q27"":"""",""Q28"":"""",""H7"":"""",""Q29_1"":"""",""Q29_2"":"""",""Q29_3"":"""",""Q29_4"":"""",""Q29_5"":"""",""Q30"":"""",""Q30_TEXT"":"""",""Q31"":"""",""Q31_TEXT"":"""",""Q32"":"""",""Q33_1"":"""",""Q33_2"":"""",""Q33_3"":"""",""Q33_4"":"""",""Q33_5"":"""",""Q33_6"":"""",""Q33_6_TEXT"":"""",""Q34"":"""",""Q34_TEXT"":"""",""Q35"":"""",""Q35_TEXT"":"""",""Q36_1"":"""",""Q36_2"":"""",""Q36_3"":"""",""Q36_4"":"""",""Q36_5"":"""",""Q36_6"":"""",""Q36_7"":"""",""Q36_7_TEXT"":"""",""Q37"":"""",""H8"":1,""H9"":1},
""R_1kYrTV300hwdvPP"":{""ResponseSet"":""Default Response Set"",""Name"":""priya, Sam"",""ExternalDataReference"":""8901212"",""EmailAddress"":""sam12@gmail.com"",""IPAddress"":""123.232.12.21"",""Status"":"""",""StartDate"":""2015-07-06 11:14:18"",""EndDate"":""2015-07-06 11:14:59"",""Finished"":""1"",""RecipientEmail"":""sam@gmail.com"",""RecipientLastName"":""sam"",""RecipientFirstName"":""priya"",""MI"":"""",""EntryTerm"":"""",""Classification"":"""",""Type"":"""",""MajorCode"":"""",""Major"":"""",""DeptCode"":"""",""Dept"":"""",""College"":"""",""Age"":"""",""Ethnicity"":"""",""Gender"":"""",""CB1"":"""",""PIDM"":""71121028"",""Military"":"""",""OrientationDate"":""6\/27\/2016"",""H1"":1,""H2"":1,""H3"":2,""H4"":2,""H5"":"""",""Q1"":"""",""Q2"":"""",""Q3_1"":"""",""Q3_2"":"""",""Q3_3"":"""",""Q3_4"":"""",""Q3_5"":"""",""Q3_6"":"""",""Q3_7"":"""",""Q3_7_TEXT"":"""",""Q4_1"":"""",""Q4_2"":"""",""Q4_3"":"""",""Q4_4"":"""",""Q4_5"":"""",""Q4_6"":"""",""Q4_7"":"""",""Q4_8"":"""",""Q4_9"":"""",""Q4_10"":"""",""Q4_11"":"""",""Q4_12"":"""",""Q4_12_TEXT"":"""",""Q5"":"""",""Q5_TEXT"":"""",""Q6_1"":"""",""Q6_2"":"""",""Q6_3"":"""",""Q7"":"""",""Q8"":"""",""Q9"":"""",""Q10_1"":"""",""Q10_2"":"""",""Q10_3"":"""",""Q10_4"":"""",""Q11_1"":"""",""Q11_2"":"""",""Q11_3"":"""",""Q11_4"":"""",""Q12_1"":"""",""Q12_2"":"""",""Q12_3"":"""",""Q12_4"":"""",""Q13"":"""",""Q13_TEXT"":"""",""Q14"":"""",""Q14_TEXT"":"""",""Q15_1"":"""",""Q15_2"":"""",""Q15_3"":"""",""Q15_4"":"""",""Q15_5"":"""",""Q15_6"":"""",""Q15_7"":"""",""Q15_8"":"""",""Q16_1"":"""",""Q16_2"":"""",""Q16_3"":"""",""Q16_4"":"""",""Q16_5"":"""",""Q16_6"":"""",""Q16_7"":"""",""Q16_8"":"""",""Q17_1"":"""",""Q17_2"":"""",""Q17_3"":"""",""Q17_4"":"""",""Q17_5"":"""",""Q17_6"":"""",""H6"":"""",""Q18_1"":"""",""Q18_2"":"""",""Q18_3"":"""",""Q19_1"":"""",""Q19_2"":"""",""Q19_3"":"""",""Q19_4"":"""",""Q20"":"""",""Q21_1"":"""",""Q21_2"":"""",""Q22_1"":"""",""Q22_2"":"""",""Q23_1"":"""",""Q23_2"":"""",""Q23_3"":"""",""Q23_4"":"""",""Q24"":"""",""Q24_TEXT"":"""",""Q25"":"""",""Q26"":"""",""Q27"":"""",""Q28"":"""",""H7"":"""",""Q29_1"":"""",""Q29_2"":"""",""Q29_3"":"""",""Q29_4"":"""",""Q29_5"":"""",""Q30"":"""",""Q30_TEXT"":"""",""Q31"":"""",""Q31_TEXT"":"""",""Q32"":"""",""Q33_1"":"""",""Q33_2"":"""",""Q33_3"":"""",""Q33_4"":"""",""Q33_5"":"""",""Q33_6"":"""",""Q33_6_TEXT"":"""",""Q34"":"""",""Q34_TEXT"":"""",""Q35"":"""",""Q35_TEXT"":"""",""Q36_1"":"""",""Q36_2"":"""",""Q36_3"":"""",""Q36_4"":"""",""Q36_5"":"""",""Q36_6"":"""",""Q36_7"":"""",""Q36_7_TEXT"":"""",""Q37"":"""",""H8"":1,""H9"":1}
internal static void Test()
private static void TestWithoutKeys(string json)
var obj = JObject.Parse(json);
var array = new JArray(obj.Values());
var dt = array.ToObject<DataTable>();
Console.WriteLine("Deserialized and re-serialized DataTable: ");
Console.WriteLine(JsonConvert.SerializeObject(dt, Formatting.Indented));
private static void TestWithKeys(string json)
var obj = JObject.Parse(json);
string keyColumnName = "__key";
var query = from p in obj.Properties()
select new JObject(p.Value.OfType<JProperty>().Concat(new [] { new JProperty(keyColumnName, p.Name) }));
var array = new JArray(query);
var dt = array.ToObject<DataTable>();
Console.WriteLine("Deserialized and re-serialized DataTable with key included: ");
Console.WriteLine(JsonConvert.SerializeObject(dt, Formatting.Indented));
public static void Main()
Console.WriteLine("Json.NET version: " + typeof(JsonSerializer).Assembly.FullName);