ASP 
.NET MVC 5 - Exibindo dados no formato JSON
    
    
    ![]()  | 
    Neste artigo vou mostrar como exibir dados JSON em uma View. | 
				
				![]()  | 
  
Existem muitas formas de exibir dados de um controlador em uma View e neste artigo veremos como exibir dados JSON - JavaScript Object Notation - em uma view ASP .NET MVC.
Recursos Usados:
Criando o projeto ASP .NET MVC 5
Abra o VS 2017 Community e crie um projeto usando o template Web-> ASP .NET Web Application(.NET Framework) e informe o nome Mvc_JSON
A seguir selecione o template Empty e marque MVC ; não vamos usar a autenticação.
Concluindo clique em OK;

Vamos criar a classe Cliente na pasta Models com o seguinte código:
		     public class Cliente
    {
        public int Id { get; set; }
        public string Nome { get; set; }
        public string Cidade { get; set; }
        public string Email { get; set; }
    }
		 | 
	
A seguir vamos criar um controlador chamado HomeController na pasta Controllers.
Clique com o botão direito sobre a pasta Controllers e a seguir clique em Add-> Controller;
Selecione o template MVC 5 Controller - Empty;

Informe o nome HomeController e clique no botão Add;
Depois inclua o código abaixo no controlador:
		using Mvc_JSON.Models;
using System.Collections.Generic;
using System.Web.Mvc;
		namespace Mvc_JSON.Controllers
{
    public class HomeController : Controller
    {
        // GET: Home
        public ActionResult Index()
        {
            return View();
        }
		        [HttpGet]
        public JsonResult ListaClientes()
        {
            //Cria uma lista de Clientes
            List<Cliente> oCliente = new List<Cliente>()
            {
                //Adicionar objetos na lista
                new Cliente {Id=1,Nome="Macoratti",Cidade="Lins",Email="macoratti@yahoo.com" },
                new Cliente {Id=2,Nome="Janice Bueno",Cidade="São Paulo",Email="janjan@hotmail.com" },
                new Cliente {Id=3,Nome="Jessica Lang",Cidade="Goiânia",Email="jesslang@hotmail.com" }
            };
            //retorna uma lista de objetos JSON
            return Json(oCliente, JsonRequestBehavior.AllowGet);
        }
    }
		 | 
	
Neste controlador definimos um método Action ListaClientes() onde criamos uma lista de objetos Cliente.
O método return return Json(oCliente, JsonRequestBehavior.AllowGet); irá retornar os dados no formato JSON.
Criando a View
Vamos então criar a view ListaClientes.cshtml.
Clique com o botão direito do mouse no interior do método Action ListaClientes() e a seguir clique em Add View;
Selecione a opção Create as a partial view e clique no botão Add;

Agora inclua o código abaixo na partial View ListaClientes:
		<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script>
    $(document).ready(function () {
        //Chama o método ListaClientes que vai retornar o JSON
        $.getJSON("Home/ListaClientes",
        function (json) {
        var tr;
        //Anexa cada linha na tabela HTML
        for (var i = 0; i < json.length; i++) {
                tr = $('<tr/>');
                tr.append("<td>" + json[i].Id + "</td>");
                tr.append("<td>" + json[i].Nome + "</td>");
                tr.append("<td>" + json[i].Cidade + "</td>");
                tr.append("<td>" + json[i].Email + "</td>");
                $('table').append(tr);
            }
        });
    });
</script>
<table class="table table-bordered table-condensed table-hover table-striped">
    <thead>
        <tr>
            <th>Id</th>
            <th>Nome</th>
            <th>Cidade</th>
            <th>Email</th>
        </tr>
    </thead>
    <tbody></tbody>
</table>
		 | 
	
No código acima estamos usando o jQuery para chamar o método ListaClientes() do controlador Home que vai retornar os dados no formato JSON.
A seguir percorremos a lista de objetos JSON e anexamos cada informação em uma tabela HTML.
Criando a view Index
Vamos voltar ao controlador HomeController e criar a view Index.cshtml que será renderizada quando o método Action Index for executado.
Clique com o botão direito do mouse no interior do método Action ListaClientes() e a seguir clique em Add View;
A seguir aceite o nome Index e marque Use a Layout Page e clique em Add;

Inclua o código abaixo que vai chamar a nossa partial view ListaClientes.cshtml:
		@{
    ViewBag.Title = "www.macoratti.net";
}
		<h1>Macoratti .net</h1>
<hr />
		<div style="margin-top:40px">
    @Html.Partial("ListaClientes");
</div>
		 | 
	
Como no arquivo RouteConfig.cs temos a rota padrão definida para chamar o método Action Index de HomeController essa view será exibida quando executarmos o projeto.
Executando o projeto iremos obter:
1- A página Index.cshtml onde chamamos a partial View ListaClientes() que exibe os dados conforme a figura abaixo:
![]()  | 
	
Pegue o 
projeto completo aqui :    
Mvc_JSON.zip (sem as referências)
"Havendo Deus antigamente falado muitas 
vezes, e de muitas maneiras, aos pais, pelos profetas, a nós falou-nos nestes 
últimos dias no Filho (Jesus)"
Hebreus 1:1
| 
    
    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 ?  | 
  
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a 
Objetos com VB .NET
![]()
ASP .NET MVC 5 - Criando HTML Helpers customizados - Macoratti.net
ASP .NET MVC - Enviando arquivos para o servidor - Macoratti.net
ASP .NET - Uma introdução ao JSON - JavaScript ... - Macoratti.net
ASP .NET MVC 4 - Exibindo dados JSON usando ... - Macoratti.net