Java tutorial
/*** Copyright (c) 2012 - 2020 Hrcules S. S. Jos Este arquivo parte do programa Oramento Domstico. Oramento Domstico um software livre; voc pode redistribui-lo e/ou modific-lo dentro dos termos da Licena Pblica Geral Menor GNU como publicada pela Fundao do Software Livre (FSF); na verso 2.1 da Licena. Este programa distribudo na esperana que possa ser til, mas SEM NENHUMA GARANTIA; sem uma garantia implcita de ADEQUAO a qualquer MERCADO ou APLICAO EM PARTICULAR. Veja a Licena Pblica Geral Menor GNU em portugus para maiores detalhes. Voc deve ter recebido uma cpia da Licena Pblica Geral Menor GNU sob o nome de "LICENSE.TXT" junto com este programa, se no, acesse o site do projeto no endereco https://github.com/herculeshssj/orcamento ou escreva para a Fundao do Software Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. Para mais informaes sobre o programa Oramento Domstico e seu autor entre em contato pelo e-mail herculeshssj@outlook.com, ou ainda escreva para Hrcules S. S. Jos, Av. Ministro Lafaeyte de Andrade, 1683 - Bl. 3 Apt 404, Marco II - Nova Iguau, RJ, Brasil. ***/ package br.com.hslife.orcamento.json; import org.json.JSONException; import org.json.JSONObject; import org.junit.Test; import br.com.hslife.orcamento.entity.Categoria; import br.com.hslife.orcamento.entity.Usuario; import br.com.hslife.orcamento.enumeration.TipoCategoria; public class TestJson1 { @Test public void main() throws JSONException { /* ------------------------------------------------------- * TESTE 1 * cria um JSONObject para armazenar dados de um filme * -------------------------------------------------------*/ //instancia um novo JSONObject JSONObject my_obj = new JSONObject(); //preenche o objeto com os campos: titulo, ano e genero my_obj.put("titulo", "JSON x XML: a Batalha Final"); my_obj.put("ano", 2012); my_obj.put("genero", "Ao"); //serializa para uma string e imprime String json_string = my_obj.toString(); System.out.println("objeto original -> " + json_string); System.out.println(); //altera o titulo e imprime a nova configurao do objeto my_obj.put("titulo", "JSON x XML: o Confronto das Linguagens"); json_string = my_obj.toString(); System.out.println("objeto com o ttulo modificado -> " + json_string); System.out.println(); //recupera campo por campo com o mtodo get() e imprime cada um String titulo = my_obj.getString("titulo"); Integer ano = my_obj.getInt("ano"); String genero = my_obj.getString("genero"); System.out.println("titulo: " + titulo); System.out.println("ano: " + ano); System.out.println("genero: " + genero); } @Test public void saveJsonValues() { Usuario usuario = new Usuario(); usuario.setId(10l); Categoria categoria = new Categoria(); categoria.setAtivo(true); categoria.setDescricao("Categoria de teste"); categoria.setId(100l); categoria.setPadrao(false); categoria.setTipoCategoria(TipoCategoria.DEBITO); categoria.setUsuario(usuario); JSONObject json = new JSONObject(); for (String s : categoria.getFieldValues().keySet()) { json.put(s, categoria.getFieldValues().get(s)); } System.out.println("JSON gerado -> " + json.toString()); } @Test public void readJsonValues() { Usuario usuario = new Usuario(); usuario.setId(10l); Categoria categoria = new Categoria(); categoria.setAtivo(true); categoria.setDescricao("Categoria de teste"); categoria.setId(100l); categoria.setPadrao(false); categoria.setTipoCategoria(TipoCategoria.DEBITO); categoria.setUsuario(usuario); JSONObject json = new JSONObject(); for (String s : categoria.getFieldValues().keySet()) { json.put(s, categoria.getFieldValues().get(s)); } JSONObject jsonRead = new JSONObject(json.toString()); System.out.println("JSON lido -> " + jsonRead.toString()); for (Object obj : jsonRead.keySet()) { System.out.println("Chave: " + obj + "; valor: " + jsonRead.get((String) obj)); } } }