ASP.NET -  Convertendo JSON para DataTable


Hoje veremos como converter dados no formato JSON para um DataTable exibindo as informações em um GridView no ASP .NET Web Forms.

A ASP .NET Web Forms é passado mas tem muito legado rodando e por isso às vezes publico algo sobre o assunto.

Receber dados no formato JSON é muito comum, e, eles podem vir preferencialmente de um serviço Web. Usando os recursos da biblioteca NewtonSoft.Json podemos converter facilmente dados JSON em objetos .NET.

Vamos acessar os dados disponibilizado pelo serviço REST em https://jsonplaceholder.typicode.com/ no formato JSON e converter para um DataTable. Temos os seguintes recursos disponíveis :

Recursos usados:

Criando o projeto ASP .NET Web Forms

Crie um projeto Web do tipo ASP .NET Web Application (.NET Framework) com o nome Asp_JsonTable no VS 2017 Community.

A seguir selecione o template Empty e marque o item Web Forms e clique em OK.

A seguir no menu Tools inclua uma referência no projeto ao pacote Newtonsoft.Json.

No menu Project clique em Add New Item e inclua um novo WebForm com o nome Default.aspx no projeto.

Na página Default.aspx inclua a partir da ToolBox, no modo Design, os seguintes controles :

Disponha os controles conforme o leiaute da figura abaixo:

Agora no evento Click do botão de comando inclua o código abaixo no arquivo code-behind Default.aspx.cs

using Newtonsoft.Json;
using System;
using System.Data;
using System.Net;
namespace Asp_JsonTable
{
    public partial class Defatul : System.Web.UI.Page
    {
        protected void btnCarregar_Click(object sender, EventArgs e)
        {
                string json = (new WebClient()).DownloadString(TxtUrl.Text);
                gdvDados.DataSource = JsonConvert.DeserializeObject<DataTable>(json);
                gdvDados.DataBind();
        }
    }
}

Neste código estamos usando a classe WebClient e fazendo o download dos dados disponbilizado pela API definida pela Uri informada em txtUrl, e a seguir usando o método DeserializeObject<DataTable> convertemos os dados no formato json para um DataTable e exibimos no controle GridView.

Simples assim...

Executando o projeto e acessando as API no endereco https://jsonplaceholder.typicode.com/ iremos obter o resultado abaixo:

Tudo isso com duas linhas de código.

Pegue o projeto aqui:  Asp_JsonTable.zip (sem as referências)

"Não quero, porém, irmãos, que sejais ignorantes acerca dos que já dormem, para que não vos entristeçais, como os demais, que não têm esperança.
Porque, se cremos que Jesus morreu e ressuscitou, assim também aos que em Jesus dormem, Deus os tornará a trazer com ele."

1 Tessalonicenses 4:13,14

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ?

Referências:


José Carlos Macoratti