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

