Mostrando postagens com marcador JSON. Mostrar todas as postagens

terça-feira, 24 de maio de 2016

Ferramentas #4 - JSONLint

É comum hoje em dia falarmos em JSON como alternativa de uso do XML, e isso está agradando a muitos, se não todos os profissionais da área, pois é mais simples fácil e intuitivo seu uso. Em meio a alta usabilidade e facilidade do JSON, muitas ferramentas foram desenvolvidas com o objetivo de facilitar o desenvolvimento e uso desse subconjunto de linguagem de programação, por exemplo o Jackson.


Em alguns casos, em meio ao desenvolvimento, precisamos verificar se nosso JSON está correto para uso. Após efetuar algumas pesquisas achei este site muito interessante que auxilia de forma rápida e simples a verificação da integridade de nosso JSON.

O site chamado JSONLint, permite que você cole o conteúdo JSON gerado ou recebido e valida se está corretamente formatado. Seu uso é muito simples, basta colar o conteúdo dentro do único campo texto e clique em Validate JSON em poucos segundos você receberá o retorno da validação.

Exemplo



Vou inserir o conteúdo abaixo com uma vírgula faltando:


{
 "carro": [

  {
   "id": 1,
   "Modelo": "Celta",
   "Placa": "RRR1303"
  }

  {
   "id": 2,
   "Modelo": "Palio",
   "Placa": "RRR0903"
  }

 ]
}

 Veja a seguir o retorno do site com relação a este erro:



Espero tenham gostado dessa dica, é um site leve, simples e fácil de usar e que nos ajuda a encontrar um erro que as vezes é coisa boba e que não percebemos.

Até mais!

;)

domingo, 17 de abril de 2016

Json com Jackson

Atualmente são inúmeras a quantidade de bibliotecas para se trabalhar com Json, isso se deve a notação leve de troca de dados, a facilidade de interpretação, tanto humana quanto a nível de máquina.
Nesse post eu vou estar explicando como trabalhar com esse carinha aqui, Jackson.

Json com Jackson



Bom, mas antes de falarmos sobre a biblioteca vamos entender um pouco sobre o que é Json. O site oficial descreve Json sendo:

"JSON (JavaScript Object Notation - Notação de Objetos JavaScript) é uma formatação leve de troca de dados.
Para seres humanos, é fácil de ler e escrever. Para máquinas, é fácil de interpretar e gerar.

Está baseado em um subconjunto da linguagem de programação JavaScript.
JSON é em formato texto e completamente independente de linguagem, pois usa convenções que são familiares às linguagens C e familiares, incluindo C++, C#, Java, JavaScript, Perl, Python e muitas outras.

Estas propriedades fazem com que JSON seja um formato ideal de troca de dados.
JSON está constituído em duas estruturas:
  • Uma coleção de pares nome/valor. Em várias linguagens, isto é caracterizado como um object, record, struct, dicionário, hash table, keyed list, ou arrays associativas.
  • Uma lista ordenada de valores. Na maioria das linguagens, isto é caracterizado como uma array, vetor, lista ou sequência.
Estas são estruturas de dados universais. Virtualmente todas as linguagens de programação modernas as suportam, de uma forma ou de outra. É aceitavel que um formato de troca de dados que seja independente de linguagem de programação se baseie nestas estruturas." Para mais informações acesse o site Json-BR.

Já sabemos o motivo da quantidade de bibliotecas existentes, o motivo de tanta informação relacionado a "formatação" JSON que tende a ser usado cada vez mais em várias aplicações.

Agora, sobre a nossa biblioteca, vamos aprender como converter Java para Json e Json para Java.

Vamos considerar o pojo abaixo:

public class Pessoa {

    private String nome;
    private int idade;
    private String profissao;
    private BigDecimal salario;
    private List habilidade;

    //getters and setters
}

Seria necessário configurar e criar a estrutura em um banco de dados, mas para nível de entendimento vamos criar um arquivo texto, dando o nome para o arquivo de "Pessoa.json" e salvar em algum lugar da sua máquina, aqui estarei salvando em "D://Pessoa.json".
Nesse arquivo teremos o seguinte registro:

{"nome":"Fagner Zordan","idade":26,"profissao":"Analista de Sistemas","salario":10000,"habilidade":["java","php","unity3d"]}

Lembre-se Json trabalha com "chave":"valor", um exemplo seria: "nome":"Fagner Zordan".
Note que os atributos da nossa classe "Pessoa" possui os mesmas chaves no nosso arquivo Json.

Já temos nosso pojo criado com os get e set implementados, temos nosso registro no formato Json salvo na nossa máquina, vamos agora converter o objeto Java em JSON:

ObjectMapper mapper = new ObjectMapper();
Pessoa obj = new Pessoa();

//Objeto para JSON salvo no arquivo
mapper.writeValue(new File("D:\\Pessoa.json"), obj);

//Objeto para JSON armazenado em String

String jsonEmString = mapper.writeValueAsString(obj);


E no trecho a seguir convertemos JSON para objeto Java:

ObjectMapper mapper = new ObjectMapper();
String jsonEmString = "{'nome' : 'Fagner Zordan'}";

//JSON do arquivo para Objeto
Pessoa obj = mapper.readValue(new File("D:\\Pessoa.json"), Pessoa.class);

//JSON de uma URL para Objeto
Pessoa obj = mapper.readValue(new URL("http://www.deviscoming.blogspot.com.br/Pessoa.json"), Pessoa.class);

//JSON de uma String para Objeto
Pessoa obj = mapper.readValue(jsonEmString, Pessoa.class);

Viu como é fácil?
Logo estarei disponibilizando um "projeto" (aplicação funcionando usando JSON) no github, e volto a postar aqui.

Por enquanto é isso, abraço e até a próxima.