In this article I will explain with an example, how to convert JSON string to DataTable in ASP.Net using C# and VB.Net.
The JSON string will be first downloaded from an API using WebClient class and then will be converted to DataTable using JSON.Net library.
 
 
Download JSON.Net library
The JSON.Net library is available for download from the following URL.
 
 
ASPSnippets Test API
The following API will be used in this article.
The API returns the following JSON.
[
   {
      "CustomerId":1,
      "Name":"John Hammond",
      "Country":"United States"
   },
   {
      "CustomerId":2,
      "Name":"Mudassar Khan",
      "Country":"India"
   },
   {
      "CustomerId":3,
      "Name":"Suzanne Mathews",
      "Country":"France"
   },
   {
      "CustomerId":4,
      "Name":"Robert Schidner",
      "Country":"Russia"
   }
]
 
 
Namespaces
You will need to import the following namespaces.
C#
using System.Net;
using System.Data;
using Newtonsoft.Json;
 
VB.Net
Imports System.Net
Imports System.Data
Imports Newtonsoft.Json
 
 
Converting JSON string to DataTable
Inside the Page Load event handler, first the JSON string is downloaded from an API using DownloadString method of the WebClient class.
Finally, the JSON string is converted to DataTable using JSON.Net library.
C#
protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        ServicePointManager.Expect100Continue = true;
        ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
        string json = (new WebClient()).DownloadString("https://raw.githubusercontent.com/aspsnippets/test/master/Customers.json");
        Datatable dt = JsonConvert.DeserializeObject<DataTable>(json);
    }
}
 
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
    If Not Me.IsPostBack Then
        ServicePointManager.Expect100Continue = True
        ServicePointManager.SecurityProtocol = CType(3072, SecurityProtocolType)
        Dim json As String = (New WebClient).DownloadString("https://raw.githubusercontent.com/aspsnippets/test/master/Customers.json")
        Dim dt As DataTable = JsonConvert.DeserializeObject(Of DataTable)(json)
    End If
End Sub
 
 
Screenshot
Convert JSON string to DataTable in ASP.Net using C# and VB.Net
 
 
Downloads