Trabalhando com JSON utilizando Java

Introdução ao desenvolvimento de objetos JSON usando Java. 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.

Por | @oficinadanet Programação

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.

Mais sobre:
Share Tweet
Recomendado
Comentários
Carregar comentários
Destaquesver tudo