JSON (JavaScript Object Notation) é uma nova forma de realizar integrações entre softwares, varias linguagens dão suporte a JSON para realizar diversas tarefas, entre elas estão Java, C#, PHP, JavaScript, C, C , entre outras.
Nos dias de hoje é muito comum a utilização de JSON ao invés de XML para realizar integrações entre sistemas, isto porque, com JSON tornam-se muito mais simples a codificação e a leitura dos dados transmitidos.
Vamos supor que temos um objeto com os atributos id e nome, vamos ver como ficaria em formato XML e JSON, segue os exemplos:
XML:
10</id>
Nome do Cliente</nome>
JSON:
{"id":10, "nome":"Nome do Cliente"}
A utilização de JSON com aplicações Java é uma tarefa muito simples, geralmente consiste em uma API que possui métodos para a conversão de objetos Java para JSON.
Para começar a utilizar JSON acesse o site http://www.json.org/, lá existem informações complementares sobre a criação e manipulação de objetos JSON.
Para o trabalho com Java, existem várias libs disponíveis, nos exemplos desse tutorial iremos utilizar a lib disponível no seguinte endereço: http://www.jarvana.com/jarvana/archive-details/org/json/json/20080701/json-20080701.jar.
A criação de um JSON a partir de um objeto Java (POJO) consiste na manipulação da classe org.json.JSONObject e org.json.JSONArray que são as classes principais da API de JSON.
Para exemplificar a utilização das classes JSONObject e JSONArray, iremos criar um objeto Java (POJO) chamado Pessoa com os atributos nome e telefone, e uma classe para criar o JSON:
Pessoa.java
public class Pessoa {
private String nome;
private String telefone;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
}
ExemploJSONObject.java
import org.json.JSONException;
import org.json.JSONObject;
public class ExemploJSONObject {
public static void main(String[] args) {
try {
Pessoa pessoa = new Pessoa();
pessoa.setNome("Fernanda");
pessoa.setTelefone("123456789");
JSONObject jsonObj = new JSONObject();
jsonObj.put("nome", pessoa.getNome());
jsonObj.put("telefone", pessoa.getTelefone());
System.out.println(jsonObj);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
O JSON gerado ficará dessa forma: {"telefone":"123456789","nome":"Fernanda"}
Agora vamos supor que teríamos que criar um único objeto JSON onde teríamos vários objetos do tipo Pessoa dentro, segue a classe:
ExemploJSONArray.java
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class ExemploJSONArray {
public static void main(String[] args) {
try {
JSONArray array = new JSONArray();
/*
* Criação do Objeto JSONObject
*/
Pessoa pOne = new Pessoa();
pOne.setNome("Fernanda");
pOne.setTelefone("987456321");
JSONObject jsonOne = new JSONObject();
jsonOne.put("nome", pOne.getNome());
jsonOne.put("telefone", pOne.getTelefone());
Pessoa pTwo = new Pessoa();
pTwo.setNome("Caio");
pTwo.setTelefone("123456789");
JSONObject jsonTwo = new JSONObject();
jsonTwo.put("nome", pTwo.getNome());
jsonTwo.put("telefone", pTwo.getTelefone());
array.put(jsonOne);
array.put(jsonTwo);
System.out.println("JSONArray: " array);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
O JSONArray gerado ficará dessa forma:
[{"telefone":"123456789","nome":"Fernanda"},{"telefone":"147852369","nome":"Caio"}]
Até a próxima.
Recomendações do editor:
- Samsung deixa vazar nova linha de wearables através de seu aplicativo
- Dinossauro que viveu há 233 milhões de anos é encontrado no Brasil
- Filmes sobre Fé e espiritualidade para ver na Netflix em 2019
- Microsoft começa a testar versão do Windows 10 que não será lançada até 2020
- Melhores mouses até R$ 300 (Fevereiro 2019)