SoFunction
Updated on 2025-03-07

C# implements a method to convert json to DataTable

#region Convert json to DataTable
/// <summary>
/// Convert json to DataTable
/// </summary>
/// <param name="strJson">obtained json</param>
/// <returns></returns>
private DataTable JsonToDataTable(string strJson)
{
//Convert json format
    strJson = (",\"", "*\"").Replace("\":", "\"#").ToString();
//Take out the table name
    var rg = new Regex(@"(?<={)[^:]+(?=:\[)", );
    string strName = (strJson).Value;
    DataTable tb = null;
//Remove table name
    strJson = (("[") + 1);
    strJson = (0, ("]"));
//Get data
    rg = new Regex(@"(?<={)[^}]+(?=})");
    MatchCollection mc = (strJson);
    for (int i = 0; i < ; i++)
    {
 string strRow = mc[i].Value;
 string[] strRows = ('*');
//Create table
 if (tb == null)
 {
     tb = new DataTable();
     = strName;
     foreach (string str in strRows)
     {
  var dc = new DataColumn();
  string[] strCell = ('#');
  if (strCell[0].Substring(0, 1) == "\"")
  {
      int a = strCell[0].Length;
      = strCell[0].Substring(1, a - 2);
  }
  else
  {
      = strCell[0];
  }
  (dc);
     }
     ();
 }
//Add content
 DataRow dr = ();
 for (int r = 0; r < ; r++)
 {
     dr[r] = strRows[r].Split('#')[1].Trim().Replace(",", ",").Replace(":", ":").Replace("\"", "");
 }
 (dr);
 ();
    }
    return tb;
}
#endregion