List of usage examples for com.google.gson GsonBuilder registerTypeAdapter
@SuppressWarnings({ "unchecked", "rawtypes" }) public GsonBuilder registerTypeAdapter(Type type, Object typeAdapter)
From source file:de.hk.bfit.db.json.GsonHelper.java
private static Gson getGson() { GsonBuilder gson_builder = new GsonBuilder(); gson_builder.registerTypeAdapter(XMLGregorianCalendar.class, new XMLGregorianCalendarConverter.Serializer()); gson_builder.registerTypeAdapter(XMLGregorianCalendar.class, new XMLGregorianCalendarConverter.Deserializer()); return gson_builder.create(); }
From source file:de.itomig.itopenterprise.GetItopJSON.java
License:Open Source License
/** * convert a json string to an ArrayList of a CMDBObject Type * * @param json string//from w w w . j a v a 2 s . c om * @param T Type of data * @param context application context, call with =null when calling from background task * @param <T> Type of data * @return ArrayList<T> with the results, returns empty list when error or no data. */ public static <T> ArrayList<T> getArrayFromJson(String json, Type T, Context context) { ArrayList<T> list = new ArrayList<T>(); // check for server Error if ((json.length() >= 12) && json.substring(0, 12).contains("SERVER_ERROR")) { if (context != null) { Toast.makeText(context, json, Toast.LENGTH_LONG).show(); } else { Log.e(TAG, json); } return list; } String code = "100"; // json error code, "0" => everything is o.k. Log.d(TAG, "getArrayFromJson - Type=" + T.toString()); JSONObject jsonObject = null; try { jsonObject = new JSONObject(json); code = jsonObject.getString("code"); Log.d(TAG, "code=" + code); Log.d(TAG, "message=" + jsonObject.getString("message")); } catch (JSONException e) { Log.e(TAG, "error in getArrayFromJSON " + e.getMessage()); Toast.makeText(context, "error in getArrayFromJSON " + e.getMessage(), Toast.LENGTH_LONG).show(); } if ((jsonObject != null) && (code.trim().equals("0"))) { try { JSONObject objects = jsonObject.getJSONObject("objects"); Iterator<?> keys = objects.keys(); while (keys.hasNext()) { String key = (String) keys.next(); Log.d(TAG, "key=" + key); if (objects.get(key) instanceof JSONObject) { // Log.d(TAG,"obj="+objects.get(key).toString()); JSONObject o = (JSONObject) objects.get(key); int id = o.getInt("key"); Log.d(TAG, "id=" + id); JSONObject fields = o.getJSONObject("fields"); //Log.d(TAG, "fields=" + fields.toString()); final GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(ItopTicket.class, new ItopTicketDeserializer()); final Gson gson = gsonBuilder.create(); final T jf = gson.fromJson(fields.toString(), T); if (jf instanceof CMDBObject) { ((CMDBObject) jf).id = id; } list.add(jf); } } Log.d(TAG, "code=" + jsonObject.getString("code")); Log.d(TAG, "message=" + jsonObject.getString("message")); } catch (JSONException e) { Log.e(TAG, "objects = null in JSON response."); } } // endif (jsonObject != null) return list; }
From source file:de.mas.telegramircbot.utils.images.ImgurUploader.java
License:Open Source License
public static String uploadImageAndGetLink(String clientID, byte[] image) throws IOException { URL url;//from ww w.j a v a 2 s .com url = new URL(Settings.IMGUR_API_URL); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); String dataImage = Base64.getEncoder().encodeToString(image); String data = URLEncoder.encode("image", "UTF-8") + "=" + URLEncoder.encode(dataImage, "UTF-8"); conn.setDoOutput(true); conn.setDoInput(true); conn.setRequestMethod("POST"); conn.setRequestProperty("Authorization", "Client-ID " + clientID); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.connect(); StringBuilder stb = new StringBuilder(); OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); wr.write(data); wr.flush(); // Get the response BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line; while ((line = rd.readLine()) != null) { stb.append(line).append("\n"); } wr.close(); rd.close(); GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(ImgurResponse.class, new ImgurResponseDeserializer()); Gson gson = gsonBuilder.create(); // The JSON data try { ImgurResponse response = gson.fromJson(stb.toString(), ImgurResponse.class); return response.getLink(); } catch (Exception e) { e.printStackTrace(); } return stb.toString(); }
From source file:de.skubware.opentraining.activity.create_workout.upload_exercise.UploadExerciseAsyncTask.java
License:Open Source License
public static RestAdapter getRestAdapter(Context c, JsonSerializer serializer) { GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(ExerciseType.class, serializer); gsonBuilder.setPrettyPrinting();/*from www .ja v a2 s .c o m*/ Gson gson = gsonBuilder.create(); GsonConverter converter = new GsonConverter(gson); RestAdapter.Builder builder = new RestAdapter.Builder().setConverter(converter) .setRequestInterceptor(new RequestInterceptor() { @Override public void intercept(RequestFacade requestFacade) { requestFacade.addHeader("Authorization", "Token ba1ce753f54ba3b8ee4af301f07c58628a1c01bf"); } }); String baseURL; if (BuildConfig.DEBUG) { // set different API-Endpoint for debugging baseURL = "http://preview.wger.de"; // only log if debug-build // (otherwise auth-token appears in log) builder.setLog(new AndroidLog("WgerRestService")).setLogLevel(LogLevel.FULL); } else { // get the URL from preferences SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(c); baseURL = settings.getString("exercise_sync_url", c.getString(R.string.pref_default_exercise_sync_url)); } builder.setEndpoint(baseURL + "/api/v2/"); return builder.build(); }
From source file:de.winniehell.battlebeavers.storage.CustomGSON.java
License:Open Source License
/** setup serialization/deserialization for given class */ private static void setupSerialization(final GsonBuilder pBuilder, final Class<?> pClass) { final String prefix = CustomGSON.class.getPackage().getName() + "." + pClass.getSimpleName(); try {// w w w .j ava2 s.c o m pBuilder.registerTypeAdapter(pClass, Class.forName(prefix + "Serializer").newInstance()); } catch (final Exception e) { Log.w(CustomGSON.class.getName(), "Could not load serializer for class " + pClass.getSimpleName()); } try { pBuilder.registerTypeAdapter(pClass, Class.forName(prefix + "Deserializer").newInstance()); } catch (final Exception e) { Log.w(CustomGSON.class.getName(), "Could not load deserializer for class " + pClass.getSimpleName()); } }
From source file:dev.maisentito.liburban.UrbanDictionary.java
License:Open Source License
private static Gson getDeserializer() { final GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(Definition.class, new DefinitionDeserializer()); builder.registerTypeAdapter(Results.class, new ResultsDeserializer()); return builder.create(); }
From source file:dochazka.OsobyJSON.java
public OsobyJSON() { try {/* www .j av a 2 s . c om*/ // read the json file FileReader reader = new FileReader(filePath); GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(Osoba.class, new OsobaDeserializer()); gsonBuilder.registerTypeAdapter(Udalost.class, new UdalostDeserializer()); Gson gson = gsonBuilder.create(); //Gson gson = new Gson(); osoby = gson.fromJson(reader, Osoba[].class); } catch (FileNotFoundException ex) { JOptionPane.showMessageDialog(null, "Soubor nebyl na?ten!", "Chyba", JOptionPane.ERROR_MESSAGE); } }
From source file:donky.microsoft.aspnet.signalr.client.Connection.java
License:Open Source License
/** * Initializes the connection with an URL, a query string and a Logger * //from ww w . j a va2 s. c om * @param url * The connection URL * @param queryString * The connection query string * @param logger * The connection logger */ public Connection(String url, String queryString, Logger logger) { if (url == null) { throw new IllegalArgumentException("URL cannot be null"); } if (logger == null) { throw new IllegalArgumentException("Logger cannot be null"); } if (!url.endsWith("/")) { url += "/"; } log("Initialize the connection", LogLevel.Information); log("Connection data: " + url + " - " + queryString == null ? "" : queryString, LogLevel.Verbose); mUrl = url; mQueryString = queryString; mLogger = logger; mJsonParser = new JsonParser(); GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(Date.class, new DateSerializer()); mGson = gsonBuilder.create(); mState = ConnectionState.Disconnected; }
From source file:edu.cmu.sv.trailscribe.controller.SynchronizationCenterController.java
License:MIT License
@Override protected Void doInBackground(String... params) { List<SyncItem> syncItems = new ArrayList<SyncItem>(); syncItems.addAll(mMapsDataSource.getAll()); syncItems.addAll(mKmlsDataSource.getAll()); GsonBuilder gson = new GsonBuilder(); gson.registerTypeAdapter(ArrayList.class, new SyncItemSerializer()); String json = gson.create().toJson(syncItems); mBackendFacade = (BackendFacade) new BackendFacade(endpoint, this, json); mBackendFacade.execute();/*w w w.j a v a 2s . c o m*/ return null; }
From source file:edu.eci.arsw.umlcolaborativo.services.InMemoryProjectsRedis.java
/** * Constructor de los proyectos de redis *//* w w w .j a v a 2 s. c o m*/ public InMemoryProjectsRedis() throws ProyectoExcepcion { Jedis jedis = JedisUtil.getPool().getResource(); GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(Diagrama.class, new InterfaceAdapter<Diagrama>()); builder.registerTypeAdapter(Elemento.class, new InterfaceAdapter<Elemento>()); builder.registerTypeAdapter(Relacion.class, new InterfaceAdapter<Relacion>()); gson = builder.create(); Map<String, Proyecto> proyectos = new HashMap<>(); Map<String, List<String>> usuarios = new HashMap<>(); usuarios.put("1", new ArrayList<>()); Proyecto p = new Proyecto("Proyecto1", "DEsc"); DiagramaClases d = new DiagramaClases("Diagrama1", "eDEs"); Elemento e = new Clase("Clase", 3, 3); Elemento e1 = new Clase("Clase1", 2, 2); Relacion r = new RelacionDependencia(e, e1, "Relacion1"); d.agregarElemento(e); d.agregarElemento(e1); d.agregarRelacion(r); p.agregarDiagrama(d); proyectos.put(p.getNombre(), p); usuarios.get("1").add(p.getNombre()); jedis.hset("Usuarios", "todosU", gson.toJson(usuarios)); jedis.hset("Proyectos", "todosP", gson.toJson(proyectos)); jedis.close(); }