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.
Nesse post eu vou estar explicando como trabalhar com esse carinha aqui, 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.
Nenhum comentário:
Postar um comentário