JToken output = JObject.Parse(outputParam)["output"];
JArray Result = output["data"] as JArray;
DataTable table = ToDatatable(Result);
public DataTable ToDatatable(JArray array)
{
DataTable dt = new DataTable();
if (array.Count > 0)
{
string columns = "";
JObject ObjColumns = array[0] as JObject;
foreach (JToken jToken in ObjColumns.AsJEnumerable<JToken>())
{
string name = ((JProperty)(jToken)).Name;
columns += name + ",";
dt.Columns.Add(name);
}
for (int i = 0; i < array.Count; i++)
{
DataRow row = dt.NewRow();
JObject obj = array[i] as JObject;
foreach (JToken jToken in obj.AsJEnumerable<JToken>())
{
string name = ((JProperty)(jToken)).Name;
string value = ((JProperty)(jToken)).Value.ToString().Replace("\"", "");
row[name] = value;
}
dt.Rows.Add(row);
}
}
return dt;
}