br.ufg.inf.es.fs.contpatri.persistencia.JsonUtil.java Source code

Java tutorial

Introduction

Here is the source code for br.ufg.inf.es.fs.contpatri.persistencia.JsonUtil.java

Source

/*
 * Esse documento  parte do cdigo fonte e artefatos relacionados ao projeto
 * CONTPATRI, em desenvolvimento pela Fbrica de Software da UFG.
 * 
 * Links relevantes: Fbrica de Software: http://fs.inf.ufg.br/ Instituto de
 * Informtica UFG: http://www.inf.ufg.br Projeto CONTPATRI DROPBOX:
 * https://www.dropbox.com/home/CONTPATRI%20-%20012013 Projeto CONTPATRI
 * REDMINE:
 * 
 * Copyleft  UFG.
 * 
 * Licenciado sobre a licena GNU-GPL v3
 * 
 * Voc pode obter uma cpia da licena em http://www.gnu.org/licenses/gpl.html
 * 
 * A menos que especificado ou exigido por legislao local, o software 
 * fornecido "da maneira que est", sem garantias ou condies de qualquer tipo,
 * nem expressas nem implcitas. Em caso de dvidas referir a licena GNU-GPL.
 */
package br.ufg.inf.es.fs.contpatri.persistencia;

import com.google.gson.ExclusionStrategy;
import com.google.gson.FieldAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;

/**
 *
 * @author Guilherme de Paula
 */
public class JsonUtil {

    Gson gson;

    public JsonUtil() {
        gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
    }

    public InputStream deJsonParaInputStream(Object objeto) throws IOException {
        String json = gson.toJson(objeto);

        InputStream is = IOUtils.toInputStream(json);

        return is;
    }

    public Object deInputStreamParaJson(InputStream inputStream) throws IOException {
        String json = IOUtils.toString(inputStream);
        Object objeto = gson.fromJson(json, Object.class);
        return objeto;
    }
}