List of usage examples for com.google.gson GsonBuilder registerTypeAdapter
@SuppressWarnings({ "unchecked", "rawtypes" }) public GsonBuilder registerTypeAdapter(Type type, Object typeAdapter)
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; }