In this article I will explain with an example, how to perform JSON Deserialization in ASP.Net Core.
The JSON will be deserialized using NewtonSoft.Json library in ASP.Net Core.
Note: For beginners in ASP.Net MVC Core, please refer my article ASP.Net MVC Core Hello World Tutorial with Sample Program example.
The ASPSnippets Test REST API
This article uses the following REST API hosted on GitHub.
The JSON string returned from the API
The following JSON string is returned from the ASPSnippets Test API.
      "Name":"John Hammond",
      "Country":"United States"
      "Name":"Mudassar Khan",
      "Name":"Suzanne Mathews",
      "Name":"Robert Schidner",
The Model class consists of following properties.
public class CustomerModel
    public string CustomerId { get; set; }
    public string Name { get; set; }
    public string Country { get; set; }
You will need to import the following namespaces.
using System.Net;
using System.Net.Http;
using Newtonsoft.Json;
The Controller consists of the following Action method.
Action method for handling GET operation
Inside this Action method, first the Security Protocol is set.
Note: SecurityProtocol needs to be set to TLS 1.2 (3072) in order to call an API.
Then the API is called using HttpClient and the JSON string is downloaded and deserialized to Generic List collection of CustomerModel class objects.
Finally, the Generic List collection of CustomerModel class objects is returned.
public class HomeController : Controller
    public IActionResult Index()
        //Setting TLS 1.2 protocol
        ServicePointManager.Expect100Continue = true;
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
        //Fetch the JSON string from URL.
        List<CustomerModel> customers = new List<CustomerModel>();
        string apiUrl = "";
        HttpClient client = new HttpClient();
        HttpResponseMessage response = client.GetAsync(apiUrl).Result;
        if (response.IsSuccessStatusCode)
            customers = JsonConvert.DeserializeObject<List<CustomerModel>>(response.Content.ReadAsStringAsync().Result);
        //Return the Deserialized JSON object.
        return Json(customers);
ASP.Net Core JSON Deserialization: Deserialize JSON in .Net Core