in JS

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