JSON no Deluge

Overview sobre JSON.

O que é JSON ?

JSON (JavaScript Object Notation) basicamente é um formato leve de troca de dados e informações entre sistemas, baseado em texto derivado de JavaScript

JSON define apenas duas estruturas de dados: objetos e matrizes. Um objeto é um conjunto de pares nome-valor e uma matriz é uma lista de valores. JSON define sete tipos de valor: string, número, objeto, matriz, verdadeiro, falso e nulo.

JSON Sintaxe

  • Os dados são representados em pares nome / valor.
  • Os colchetes prendem objetos e cada nome é seguido por ‘:’ (dois pontos), os pares nome / valor são separados por, (vírgula).
  • Os colchetes contêm matrizes e os valores são separados por, (vírgula).

Abaixo um exemplo de JSON

				
					{
  "primeiroNome": "Joao",
  "segundoNome": "Silva",
  "idade": 18,
  "endereco": "Rua Dois",
  "cidade": "Minas Gerais",
  "contatos": [
    {"Movel": "111-111-1111"},
    {"Casa": "222-222-2222"}
  ]
}
				
			

Vantagens do JSON:

  • Leitura mais simples
  • Analisador(parsing) mais fácil
  • JSON suporta objetos
  • Velocidade maior na execução e transporte de dados
  • Arquivo com tamanho reduzido

Agora que já sabemos o que é JSON e suas vantagens vamos ver como que funciona no Deluge.

No Deluge temos duas funções para o JSON que é a getJSON e toJSONList abaixo vamos abordar cada uma delas.

getJSON

A   função getJSON recupera valores de um texto formatado em JSON ou uma coleção de valores-chave, usando uma chave.

Sintaxe 

<variavel>=<entrada>.getJson(<chave>);

<variavel> Variável que contém o valor retornado. O tipo de dados deste parâmetro depende do tipo do valor retornado.
<entrada> O texto formatado em JSON ou a coleção de valores-chave a partir da qual o valor da chave especificada precisa ser buscado.
Observação: Se a entrada não for um TEXTO formatado em JSON ou não for uma coleção KEY-VALUE, um erro de tempo de execução será gerado.
A chave cujo valor precisa ser retornado.
Se a chave especificada não for encontrada, um valor nulo será retornado.

O código abaixo criamos uma variável com formato JSON em seguida vamos obter esses dados e mostrar o nome de cada um que estão dentro dele.

				
					//Variavel em formato json
func = "{\"Dados\":[{\"Name\":\"Victor\",\"Function\":\"Estagiario\",\"Departament\":\"Tecnologia\"},{\"Name\":\"Fernando\",\"Function\":\"CEO\",\"Departament\":\"Tecnologia\"}]}";
// variavel que obtem os Dados
lista = func.getJSON("Dados");
// variável para criar coleção
varFun = Collection();
// Para cada elemento da lista 
for each abc in lista
{
	//pega o nome
	varFun.insert(abc.getJson("Name"));
}
//imprimir nome
info varFun ;
// Saida Victor,Fernando
				
			

toJSONList

A   função toJSONList pega uma matriz JSON de texto  como um argumento e a retorna como uma lista.

Sintaxe

<variavel>=<texto_json>.toJSONList();

<variavel> Variável que conterá a lista JSON convertida.
<texto_json> A matriz JSON de texto que precisa ser convertida em Lista JSON.

O exemplo abaixo temos uma variável no formato JSON, vamos buscar os dados dela e transformar o JSON em lista.

				
					//variavel em JSON
func = "{\"Dados\":[{\"Name\":\"Victor\",\"Function\":\"Estagiario\",\"Departament\":\"Tecnologia\"},{\"Name\":\"Fernando\",\"Function\":\"CEO\",\"Departament\":\"Tecnologia\"}]}";
// variável que pega os dados no JSON
dados = func.getJSON("Dados");
// transfoforma JSON para Lista
json_lista = dados.toJSONList();
// criamos a lista
varlista = List();
// para cada item dentro da lista json_lista
for each item in json_lista
{
	//adicionar Function dentro da variável lista varLista
	varlista.add(item.getJSON("Function"));
}
// mostra resultado
info varlista ;
// Saída: Estagiario,CEO
				
			

Converter Map para JSON

Para converter um Map para JSON no Deluge usamos a seguinte sintaxe:

				
					// mapa que inserimos os parâmetros
params = Map();
// variável com os parâmetros
funcionario1 = {"nome":"Maria","sobrenome":"Silva","departamento":"TI"};
// variável com os parâmetros
funcionario2 = {"nome":"Joao","sobrenome":"Silva","departamento":"RH"};
//variável que atribui os dois parâmetros acima, nela 
funcionario = {funcionario1,funcionario2};
// inserimos matriz Funcionarios
params.put("Funcionarios",funcionario);
// imprime com formato de texto
info params.toString();
				
			

Saída na Console

				
					{
  "Funcionarios": [
    {
      "nome": "Maria",
      "sobrenome": "Silva",
      "departamento": "TI"
    },
    {
      "nome": "Joao",
      "sobrenome": "Silva",
      "departamento": "RH"
    }
  ]
}
				
			

Converter List para JSON

Para converter uma List para JSON usamos a seguinte sintaxe:

				
					// cria lista 
funcionarios = List();
// variável com atributos em lista
funcionario1 = {"nome":"Maria","sobrenome":"Silva","departamento":"TI"};
// adiciona variável na lista 
funcionarios.add(funcionario1);
// variável com atributos em lista
funcionario2 = {"nome":"Joao","sobrenome":"Silva","departamento":"RH"};
// adiciona variável na lista 
funcionarios.add(funcionario2);
// Adicionamos um par de colchetes e usamos o to toString para que o formato saia em JSON 
funcionariosJSON = "[" + funcionarios.toString() + "]";
//mostra JSON
info funcionariosJSON;
				
			

Saída da Console

				
					[
  {
    "nome": "Maria",
    "sobrenome": "Silva",
    "departamento": "TI"
  },
  {
    "nome": "Joao",
    "sobrenome": "Silva",
    "departamento": "RH"
  }
]
				
			

Deixe uma resposta