ASP.NET Web API: Configurando a serialização com JSON e XML

O ASP.NET Web API é um framework muito flexível e testável, falando em API’s existem diversas maneiras de empacotar e entregar as informações para os clientes que estão utilizando, recentemente tive que realizar algumas configuração de data e formatação de como os objetos seriam serializando. Pensando nisto, decidi escrever este post para mostrar algumas das possibilidades de configurações em como é feita a serialização e entrega pelas nossas WebAPI’s.

Continue reading

Trabalhando com JSON e dynamic com C#

Um dos melhores formatos para transmitir dados na web é o Json (JavaScript Object Notation),  já que é nativo do JavaScript e possui menor overhead de separadores que em um XML por exemplo, alem disso, é facilmente tratado por funções JS.

Cada vez mais a maioria de projetos utiliza JSON em suas API’s, integrações ou em outras comunicações. Continue reading

Introdução JSON (JavaScript Object Notation)

Após ter que aprender a utilizar JSON em uma novo projeto, decidi fazer um post sobre esse formato de transmissão de dados. Uma de suas principais vantagens é ser baseado em um subconjunto do JavaScript. Sendo um objeto JavaScript, sua manipulação com JavaScript é mais intuitiva do que, por exemplo, a manipulação de um xml.

JSON (JavaScript Object Notation) é construído em duas estruturas:

* Uma coleção de pares nome / valor. O que pode ser definido como um objeto, registro, estrutura, quadro, dicionário de hash, keyed list, ou vetors associativos.
* Uma lista ordenada de valores. Na maioria das linguagens isto é percebido como um vetor, lista ou sequência.

Sendo uma estrutura de dados a maioria das linguagens modernas possuem um tipo de suporte para o uso do JSON, assim é um dos melhores jeitos de trafegar informações.

Estas estrutiras podem ter os seguintes formatos:

Objeto:

Um objeto é um conjunto não ordenado de pares nome / valor. Um objeto que começa com {(chave esquerda) e termina com } (chave direita). Cada nome é seguido por: (dois pontos) e os pares nome / valor são separados por, (vírgula).

ex:

 

var objeto = { nome1: “valor1″, nome2: “valor2″, nome3: “valor4″ };

alert(objeto.nome1);

//”valor1″

 

Vetor

Um vetor é uma coleção ordenada de valores. Um vetor começa com [(colchete esquerdo) e termina com] (colchete direito). Os valores são separados por, (vírgula).

ex:

var vetor = ["valor1", "valor2", "valor3"];

alert(vetor[1]);

//”valor2″

O valor pode ser uma string entre aspas, ou um número, ou verdadeiro ou falso ou nulo, ou um objeto ou um array. Estas estruturas podem ser aninhadas.

Estruturas aninhadas

ex:

var pessoa = { nome:"Rodolfo", Idade: 20, Sexo: 'M', Certificações:["MCP", "MCTS" , "MCPD"]};

alert( pessoa.Certificações[1]);

//”MCTS”

alert( pessoa.Idade);

//20

var pessoa = { nome: "Rodolfo", Idade: 20, Sexo: "M", Certificações: ["MCP", "MCTS", "MCPD"] };
var certif = "";
for (var item in pessoa.Certificações) {
certif = pessoa.Certificações[item] + " "+ certif;
}

alert(certif);

//”MCP MCTS MCDP”

Uma coisa muito util é o intellisense do js reconhecendo a estrutura

Manipulando via js

ex:

var pessoas= new Array;
pessoas.push(
{ nome: "Rodolfo", Idade: 20, Sexo: "M", Certificações: ["MCP", "MCTS", "MCPD"] }
);

pessoas.push(
{ nome: "Fadino", Idade: 25, Sexo: "M", Certificações: ["MCP", "MCTS", "MCPD"] }
);

pessoas.push(
{ nome: "Junior", Idade: 25, Sexo: "M", Certificações: ["MCP", "MCTS", "MCPD"] }
);

alert(pessoas[1].Certificações);

// “MCP, MCTS,MCPD”

ex:

var pessoas= new Array;
pessoas.push(
{ nome: "Rodolfo", Idade: 20, Sexo: "M", Certificações: ["MCP", "MCTS", "MCPD"] }
);

pessoas.push(
{ nome: "Fadino", Idade: 25, Sexo: "M", Certificações: ["MCP", "MCTS", "MCPD"] }
);

pessoas.push(
{ nome: "Junior", Idade: 25, Sexo: "M", Certificações: ["MCP", "MCTS", "MCPD"] }
);

var pessoa = pessoas.pop();
alert(pessoa.nome);

//”Junior”

var pessoas= new Array;
pessoas.push(
{ nome: "Rodolfo", Idade: 20, Sexo: "M", Certificações: ["MCP", "MCTS", "MCPD"] }
);

pessoas.push(
{ nome: "Fadino", Idade: 25, Sexo: "M", Certificações: ["MCP", "MCTS", "MCPD"] }
);

pessoas.push(
{ nome: "Junior", Idade: 25, Sexo: "M", Certificações: ["MCP", "MCTS", "MCPD"] }
);

alert(pessoas.length);

//3

Bem, espero que tenha sido útil, em breve farei um post sobre Linq to JSON em C#,

Obrigado

Rodolfo

Chamada Ajax com Json e ASP.NET MVC

Um dos melhores formatos para transmitir dados de maneira assíncrona na web é o Json (JavaScript Object Notation),  já que é nativo do JavaScript e possui menor overhead de separadores que em um XML por exemplo, alem disso, é facilmente tratado por funções JS.

A idéia deste post é demonstrar uma maneira simples de trabalhar com requisições assíncronas utilizando Json, jQuery e ASP.NET MVC.

Primeiro passo vamos criar um projeto no Visual Studio do tipo ASP.NET MVC 2 Continue reading