using System.Collections.Generic;
using Newtonsoft.Json.Linq;
public static void Main()
dynamic expando = new ExpandoObject();
var expando_as_dictionary = expando as IDictionary<string, object>;
expando_as_dictionary.Add("SomeProp", 1055);
expando_as_dictionary.Add("SomeProp 2", "mamma");
string json = JsonConvert.SerializeObject(expando);
JObject _parsedString = JObject.Parse(json);
Console.WriteLine(_parsedString["name"]);
Console.WriteLine(_parsedString["wins"]);
Console.WriteLine(_parsedString["SomeProp"]);
Console.WriteLine(_parsedString["SomeProp 2"]);
DataTable dt2 = JsonConvert.DeserializeObject<DataTable>(_parsedString["dt"].ToString());
Console.WriteLine(dt2.Rows[1][0]);
Console.WriteLine(dt2.Rows[1][1]);
Console.WriteLine(dt2.Rows[1][2]);
private static DataTable GetDT()
DataTable table = new DataTable();
table.TableName = "Table1";
table.Columns.Add("id", typeof(int));
table.Columns["id"].AutoIncrement = true;
table.Columns.Add("label", typeof(string));
table.Columns.Add("value", typeof(decimal));
for (int i = 0; i < 2; i++)
DataRow newRow = table.NewRow();
newRow["label"] = "A" + i;