Example usage for com.google.gson GsonBuilder registerTypeAdapter

List of usage examples for com.google.gson GsonBuilder registerTypeAdapter

Introduction

In this page you can find the example usage for com.google.gson GsonBuilder registerTypeAdapter.

Prototype

@SuppressWarnings({ "unchecked", "rawtypes" })
public GsonBuilder registerTypeAdapter(Type type, Object typeAdapter) 

Source Link

Document

Configures Gson for custom serialization or deserialization.

Usage

From source file:angularBeans.util.AngularBeansUtils.java

License:LGPL

public void initJsonSerialiser() {

    GsonBuilder builder = new GsonBuilder().serializeNulls();

    builder.registerTypeAdapter(LobWrapper.class, new LobWrapperJsonAdapter(cache));

    builder.registerTypeAdapter(byte[].class, new ByteArrayJsonAdapter(cache, contextPath));

    builder.registerTypeAdapter(LobWrapper.class, new JsonDeserializer<LobWrapper>() {

        @Override//from   w w  w .  jav  a 2  s.co m
        public LobWrapper deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) {

            return null;
        }

    });

    mainSerializer = builder.create();

}

From source file:app.config.AppBootstrap.java

License:Apache License

public void init(AppContext context) {
    setInjector(Guice.createInjector(new GreeterModule()));
    Configuration.setUseDefaultLayoutForErrors(true);
    GsonBuilder jsonBuilder = new GsonBuilder();
    jsonBuilder.registerTypeAdapter(BaseCard.class, new BaseCardAdapter());
    context.set("json", jsonBuilder.create());
}

From source file:ar.com.wolox.wolmo.networking.di.modules.GsonModule.java

License:Open Source License

@Provides
static GsonBuilder provideGsonBuilder(@Named("newInstance") GsonBuilder gsonBuilder,
        @NonNull FieldNamingPolicy namingPolicy, @Nullable GsonTypeAdapter... typeAdapters) {

    gsonBuilder.setFieldNamingPolicy(namingPolicy);

    if (typeAdapters != null && typeAdapters.length > 0) {
        for (GsonTypeAdapter typeAdapter : typeAdapters) {
            gsonBuilder.registerTypeAdapter(typeAdapter.getType(), typeAdapter.getTypeAdapter());
        }/*from   ww  w  .  j a v a2  s  . c om*/
    } else {
        gsonBuilder.registerTypeAdapter(LocalDate.class, new LocalDateSerializer());
    }

    return gsonBuilder;
}

From source file:ar.com.ws.djnextension.config.GsonBuilderConfiguratorForTesting.java

License:Open Source License

/**
 * @param builder/* w  w  w .  ja  va  2  s.  c  om*/
 */
private void addCustomSerializationSupport(GsonBuilder builder) {

    // Convert our own custom javascript "date" to a Java Date
    builder.registerTypeAdapter(Date.class, new JsonDateSerializer());

    // Convert a Java Date to our own custom javascript "date"
    builder.registerTypeAdapter(Date.class, new JsonDateDeserializer());
}

From source file:at.ac.tuwien.big.we14.lab2.api.impl.JSONQuestionDataProvider.java

License:Open Source License

@Override
public List<Category> loadCategoryData() {
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapter(Category.class, new CategoryDeserializer(factory));

    gsonBuilder.registerTypeAdapter(Question.class, new QuestionDeserialzier(factory));

    Gson gson = gsonBuilder.create();// www.j av a 2 s  .c  o m

    Type collectionType = new TypeToken<List<Category>>() {
    }.getType();
    List<Category> categories = gson.fromJson(new InputStreamReader(inputStream, Charsets.UTF_8),
            collectionType);

    return categories;
}

From source file:at.ac.tuwien.big.we15.lab2.api.impl.JSONQuestionDataProvider.java

License:Open Source License

@Override
public List<Category> getCategoryData() {
    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeAdapter(Category.class, new CategoryDeserializer());
    gsonBuilder.registerTypeAdapter(Question.class, new QuestionDeserialzier());

    Gson gson = gsonBuilder.create();/*from  w  w  w  . j  a v a2  s.  com*/
    Type collectionType = new TypeToken<List<Category>>() {
    }.getType();
    List<Category> categories = gson.fromJson(new InputStreamReader(inputStream, Charsets.UTF_8),
            collectionType);

    return categories;
}

From source file:at.medevit.elexis.emediplan.core.internal.EMediplanServiceImpl.java

License:Open Source License

@Override
public Medication createModelFromChunk(String chunk) {
    String json = getDecodedJsonString(chunk);
    if (chunk.length() > 8) {
        logger.debug("json version: " + chunk.substring(5, 8));
        GsonBuilder gb = new GsonBuilder();
        gb.registerTypeAdapter(Medication.class, new MedicationDeserializer());
        Gson g = gb.create();/*from   w ww.  ja  v  a2  s.com*/
        Medication m = g.fromJson(json, Medication.class);
        m.chunk = chunk;
        return m;
    } else {
        logger.error("invalid json length - cannot parseable");
    }

    return null;
}

From source file:be.ugent.tiwi.sleroux.newsrec.recommendationstester.RecommenderAccess.java

public NewsItemCluster[] getRecommendations() {
    try {/* w  w w  .j  a  v a  2 s  .  co  m*/
        String res = doGet(baseUrl + "GetRecommendations.do?count=250&start=0");
        GsonBuilder b = new GsonBuilder();
        b.registerTypeAdapter(NewsItemCluster.class, new CustomDeserializer());
        Gson gson = b.create();
        NewsItemCluster[] results = gson.fromJson(res, NewsItemCluster[].class);

        return results;
    } catch (IOException ex) {
        Logger.getLogger(RecommenderAccess.class.getName()).log(Level.SEVERE, null, ex);
        return new NewsItemCluster[] {};
    }
}

From source file:bean.EJBean.java

License:Open Source License

public Edificio getEdificio(String id) {

    client = ClientBuilder.newClient();//from  w ww . j a v a 2s  .c  o m
    String edificio = client.target(baseURI).path("edificios").path(id).request(MediaType.APPLICATION_JSON)
            .get(String.class);
    client.close();

    /// Deserializar///

    GsonBuilder gsonBuilder = new GsonBuilder();

    JsonDeserializer<Edificio> deserializer = new JsonDeserializer<Edificio>() {

        @Override
        public Edificio deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
                throws JsonParseException {
            JsonObject jsonObject = json.getAsJsonObject();

            Edificio e = new Edificio();

            e.setIdedificio(jsonObject.get("idedificio").getAsString());

            if (jsonObject.has("nombreen")) {
                e.setNombreen(jsonObject.get("nombreen").getAsString());
            }
            if (jsonObject.has("nombrevl")) {
                e.setNombrevl(jsonObject.get("nombrevl").getAsString());
            }
            if (jsonObject.has("nombrees")) {
                e.setNombrees(jsonObject.get("nombrees").getAsString());
            }
            if (jsonObject.has("direccion")) {
                e.setDireccion(jsonObject.get("direccion").getAsString());
            }
            if (jsonObject.has("telefono")) {
                e.setTelefono(jsonObject.get("telefono").getAsString());
            }
            if (jsonObject.has("enlace")) {
                e.setEnlace(jsonObject.get("enlace").getAsString());
            }
            e.setXano(jsonObject.get("xano").getAsString());
            e.setTopleft(jsonObject.get("topleft").getAsString());
            e.setTopright(jsonObject.get("topright").getAsString());
            e.setBottomleft(jsonObject.get("bottomleft").getAsString());

            // System.out.println("Deserializer: Edi Obj: "+e.toString());

            List<Usuario> lu = new ArrayList<Usuario>();
            JsonArray usuariosArray = jsonObject.getAsJsonArray("usuarios");
            for (JsonElement usuario : usuariosArray) {
                Usuario u = new Usuario();
                JsonObject usuarioObj = usuario.getAsJsonObject();
                u.setUsuario(usuarioObj.get("usuario").getAsString());
                lu.add(u);
            }
            // System.out.println("Deserializer: usu Obj: "+e.toString());

            e.setUsuarios(lu);
            // System.out.println("Deserializer: usu Obj: " + e.getUsuarios().size());
            List<Plano> lp = new ArrayList<Plano>();
            JsonArray planoArray = jsonObject.getAsJsonArray("planos");
            for (JsonElement plano : planoArray) {
                Plano p = new Plano();
                PlanoPK pk = new PlanoPK();
                JsonObject planoObj = plano.getAsJsonObject();
                pk.setIdedificio(e.getIdedificio());
                pk.setIdplano(planoObj.get("idplano").getAsString());
                p.setId(pk);
                p.setEnlace(planoObj.get("enlace").getAsString());
                p.setNivel(planoObj.get("nivel").getAsInt());
                Edificio edAux = new Edificio();
                edAux.setIdedificio(edAux.getIdedificio());
                p.setEdificio(edAux);

                lp.add(p);
            }

            e.setPlanos(lp);

            JsonObject coordenadaObj = jsonObject.getAsJsonObject("coordenada");
            Coordenada coordenada = new Coordenada();
            coordenada.setIdcoordenada(coordenadaObj.get("idcoordenada").getAsString());
            coordenada.setDescripcion(coordenadaObj.get("idcoordenada").getAsString());
            coordenada.setLatitud(coordenadaObj.get("latitud").getAsDouble());
            coordenada.setLongitud(coordenadaObj.get("longitud").getAsDouble());

            e.setCoordenada(coordenada);

            return e;
        }

    };
    gsonBuilder.registerTypeAdapter(Edificio.class, deserializer);

    System.out.println("GSON" + edificio);

    Gson customGson = gsonBuilder.create();
    Edificio jsonToEdificio = customGson.fromJson(edificio, Edificio.class);
    System.out.print("Size users EJB: " + jsonToEdificio.getUsuarios().size());

    return jsonToEdificio;
}

From source file:bean.EJBean.java

License:Open Source License

public Espacio getEspacio(String id) {
    client = ClientBuilder.newClient();/*  www .  j  a va 2  s  .c om*/
    String espacio = client.target(baseURI).path("espacios").path(id).request(MediaType.APPLICATION_JSON)
            .get(String.class);
    client.close();

    /// Deserializar///

    //      System.out.println(espacio);

    GsonBuilder gsonBuilder = new GsonBuilder();

    JsonDeserializer<Espacio> deserializer = new JsonDeserializer<Espacio>() {

        @Override
        public Espacio deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
                throws JsonParseException {
            JsonObject jsonObject = json.getAsJsonObject();

            Espacio e = new Espacio();

            e.setIdespacio(jsonObject.get("idespacio").getAsString());

            if (jsonObject.has("nombreen")) {
                e.setNombreen(jsonObject.get("nombreen").getAsString());
            }
            if (jsonObject.has("nombrevl")) {
                e.setNombrevl(jsonObject.get("nombrevl").getAsString());
            }
            if (jsonObject.has("nombrees")) {
                e.setNombrees(jsonObject.get("nombrees").getAsString());
            }
            if (jsonObject.has("bloque")) {
                e.setBloque(jsonObject.get("bloque").getAsString());
            }
            if (jsonObject.has("piso")) {
                e.setPiso(jsonObject.get("piso").getAsInt());
            }
            if (jsonObject.has("tipo")) {
                e.setTipo(jsonObject.get("tipo").getAsString());
            }
            e.setVisibilidad(jsonObject.get("visibilidad").getAsBoolean());
            if (jsonObject.has("boundingbox")) {
                e.setBoundingbox(jsonObject.get("boundingbox").getAsString());
            }

            // System.out.println("Deserializer: Edi Obj: "+e.toString());
            JsonObject edificioObj = jsonObject.getAsJsonObject("edificio");
            Edificio edificio = new Edificio();
            edificio.setIdedificio(edificioObj.get("idedificio").getAsString());

            e.setEdificio(edificio);

            List<Panorama> lp = new ArrayList<Panorama>();
            JsonArray panoArray = jsonObject.getAsJsonArray("panoramas");
            for (JsonElement pano : panoArray) {
                Panorama p = new Panorama();
                JsonObject panoObj = pano.getAsJsonObject();
                p.setIdpanorama(panoObj.get("idpanorama").getAsString());
                p.setEnlace(panoObj.get("enlace").getAsString());
                lp.add(p);
            }

            e.setPanoramas(lp);

            JsonObject coordenadaObj = jsonObject.getAsJsonObject("coordenada");
            Coordenada coordenada = new Coordenada();
            coordenada.setIdcoordenada(coordenadaObj.get("idcoordenada").getAsString());
            coordenada.setDescripcion(coordenadaObj.get("idcoordenada").getAsString());
            coordenada.setLatitud(coordenadaObj.get("latitud").getAsDouble());
            coordenada.setLongitud(coordenadaObj.get("longitud").getAsDouble());

            e.setCoordenada(coordenada);

            if (jsonObject.has("profesores")) {
                List<Profesor> lprof = new ArrayList<Profesor>();
                JsonArray profArray = jsonObject.getAsJsonArray("profesores");
                for (JsonElement prof : profArray) {
                    Profesor p = new Profesor();
                    JsonObject profObj = prof.getAsJsonObject();
                    p.setIdprofesor(profObj.get("idprofesor").getAsString());
                    p.setUsuario(profObj.get("usuario").getAsString());
                    p.setVisibilidad(profObj.get("visibilidad").getAsBoolean());

                    lprof.add(p);
                }

                e.setProfesores(lprof);
            }

            return e;
        }

    };
    gsonBuilder.registerTypeAdapter(Espacio.class, deserializer);

    // System.out.println("GSON"+espacio);

    Gson customGson = gsonBuilder.create();
    Espacio jsonToEspacio = customGson.fromJson(espacio, Espacio.class);

    return jsonToEspacio;
}