Minifycode 2021-10-03 Viewed 1.3K times C#

In this article, you will learn how to convert Datatable to JSON C#

How to convert Datatable to JSON C#: This article explains how to convert DataTable to JSON string in Asp.net C#. ex. serialize DataTable to JSON array in C#.
For example, let’s say you have SQL database and now want to return SQL data to JSON in C# application ex. how to return JSON String from DataTable in Asp.net C#. There are 1 ways to achieve this task and that are: By using JavaScriptSerializer, By using Json.Net DLL ( newtonsoft ).

public ActionResult convertjson()
        {
                SqlTransaction objTrans = null;
                string strConString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;  
                SqlConnection objConn = new SqlConnection(strConString);
                objConn.Open();
                objTrans = objConn.BeginTransaction();            

                SqlCommand cmd = new SqlCommand("select  * from test order by id desc", objConn, objTrans);
                SqlDataAdapter sda = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                sda.Fill(dt);
                objTrans.Commit();
                return Json(MRPLookup.DataTableToJSONWithJSONNet(dt), JsonRequestBehavior.AllowGet);
        }

Now in this method we will convert our C# Datatable to JSON using the Newtonsoft DLL.

public static string DataTableToJSONWithJSONNet(DataTable table)
        {
            string JSONString = string.Empty;
            JSONString = JsonConvert.SerializeObject(table);
            return JSONString;
        }

This technic explains how to convert a DataTable to JSON in ASP.NET C#. In any words how to return a JSON String from a DataTable in ASP.NET C#.
 In any words, how to serialize a DataTable to a JSON array in C#. 

public string DataTableToJSONJavaScriptSerializer(DataTable table) 
{  
    JavaScriptSerializer jsSerializer = new JavaScriptSerializer();  
    List < Dictionary < string, object >> pRow = new List < Dictionary < string, object >> ();  
    Dictionary < string, object > childRow;  
    foreach(DataRow row in table.Rows) 
    {  
        childRow = new Dictionary < string, object > ();  
        foreach(DataColumn col in table.Columns) 
        {  
            childRow.Add(col.ColumnName, row[col]);  
        }  
        pRow.Add(childRow);  
    }  
    return jsSerializer.Serialize(pRow);  
}  

Convert datatable to JSON using C#.net

public static object DataTableToJSON(DataTable table)
    {
        var lst= new List<Dictionary<string, object>>();
        foreach (DataRow row in table.Rows)
        {
            var dict = new Dictionary<string, object>();
            foreach (DataColumn col in table.Columns)
            {
                dict[col.ColumnName] = (Convert.ToString(row[col]));
            }
            lst.Add(dict);
        }
        JavaScriptSerializer serializer = new JavaScriptSerializer();
        return serializer.Serialize(lst);
    }

ExtensionMethods

public static string ToJson(this DataTable dt)
{
    List<Dictionary<string, object>> lst = new List<Dictionary<string, object>>();
    Dictionary<string, object> item;
    foreach (DataRow row in dt.Rows)
    {
            item = new Dictionary<string, object>();
                foreach (DataColumn col in dt.Columns)
                {
                    item.Add(col.ColumnName, (Convert.IsDBNull(row[col]) ? null : row[col]));       
        }
        lst.Add(item);
    }
        return Newtonsoft.Json.JsonConvert.SerializeObject(lst);
}

To access the convert datatable value in Json method

$.ajax({
        type: "POST",
        url: "/Services.asmx/MethodName",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
            var parsed = $.parseJSON(data.d);
            $.each(parsed, function (i, jsondata) {
            $("#dividtodisplay").append("Title: " + jsondata.title + "<br/>" + "Latitude: " + jsondata.lat);
            });
        },
        error: function (XHR, errStatus, errorThrown) {
            var err = JSON.parse(XHR.responseText);
            errorMessage = err.Message;
            alert(errorMessage);
        }
    });

How to convert Datatable to JSON C#: This article explains how to convert DataTable to JSON string in Asp.net C#. ex. serialize DataTable to JSON array in C#. For example, let’s say you have SQL database and now want to return SQL data to JSON in C# application ex. how to return JSON String from DataTable in Asp.net C#. There are 1 ways to achieve this task and that are: By using JavaScriptSerializer, By using Json.Net DLL ( newtonsoft ).
C# is a programming language developed by Microsoft that runs on the .NET Framework. C# is used to develop web, desktop, mobile, games and much more application. C# is a object-oriented programming language developed by Microsoft within its .NET Framework. Led by Anders Hejlsberg, your basic C# programming and will also take you through various advanced concepts related to C# programming language. C# such as control statements, objects and classes, inheritance, constructor, destructor, this, static, sealed, polymorphism, abstraction, abstract class, interface, File IO, Collections, namespace, encapsulation, properties, indexer, arrays, strings, regex, exception handling, multithreading etc. For example... using System; namespace MinifyCode { class Program { static void Main(string[] args) { Console.WriteLine("Hello Minify Code"); } } } Output: Hello Minify Code In this article you will learn, what is server side controls. We will discuss each of these objects in due time. In this tutorial we will explore the Server object, the Request object, and the Response object. Session Application Cache Request Response Server User Trace Server Object The Server object in Asp.NET is an instance of the System.Web.HttpServerUtility class. The HttpServerUtility class provides numerous properties and methods to perform many type of jobs. Methods and Properties of the Server object The methods and properties of the HttpServerUtility class are exposed through the intrinsic Server object provided by ASP.NET. using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Optimization; using System.Web.Routing; using System.Web.Security; using System.Web.SessionState; using System.Data.Entity; namespace minifycode { public class Global : HttpApplication { void Application_Start(object sender, EventArgs e) { // Code that runs on application startup RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); // Initialize the product database. Database.SetInitializer(new ProductDatabaseInitializer()); // Create custom role and user. RoleActions roleActions = new RoleActions(); roleActions.AddUserAndRole(); // Add Routes. RegisterCustomRoutes(RouteTable.Routes); } void RegisterCustomRoutes(RouteCollection routes) { routes.MapPageRoute( "ProductsCategoryRoute", "Category/{categoryName}", "~/ProductList.aspx" ); routes.MapPageRoute( "ProductNameRoute", "Product/{productName}", "~/ProductDetails.aspx" ); } } }