List of usage examples for com.google.gson.reflect TypeToken getType
public final Type getType()
From source file:com.dyonovan.beam.Points.java
License:Creative Commons License
static void loadPoints() throws FileNotFoundException { File file = new File("points.json"); if (file.exists() && !file.isDirectory()) { BufferedReader reader = new BufferedReader(new FileReader(file)); Gson gson = new Gson(); TypeToken type = new TypeToken<HashMap<String, Integer>>() { };/*from ww w.j a v a2 s. co m*/ points = gson.fromJson(reader, type.getType()); } else points = new HashMap<>(); }
From source file:com.dyonovan.researchsystem.util.JsonUtils.java
License:Creative Commons License
public static <C> C readFromJson(TypeToken type, String path) { try {//from ww w .j a v a 2 s. co m BufferedReader reader = new BufferedReader(new FileReader(path)); Gson gson = new Gson(); return gson.fromJson(reader, type.getType()); } catch (FileNotFoundException e) { LogHelper.severe("Could not find file: " + path); return null; } }
From source file:com.easemob.chatuidemo.activity.RegisterActivity.java
License:Open Source License
private void initData(String username, String password) { Map<String, String> map = new HashMap<String, String>(); map.put("username", username); map.put("password", password); JSONObject jsonObject = new JSONObject(map); String url = "http://119.29.98.34:8080/chat/user/register.do"; rq = Volley.newRequestQueue(getApplicationContext()); JsonObjectRequest req = new JsonObjectRequest(Request.Method.POST, url, jsonObject, new Listener<JSONObject>() { @Override/*from w ww . jav a2s .c o m*/ public void onResponse(JSONObject response) { Log.e("response", response + ""); Gson gson = new Gson(); TypeToken<UserInfo> token = new TypeToken<UserInfo>() { }; Type type = token.getType(); UserInfo showMovieMessage = gson.fromJson(response.toString(), type); if (showMovieMessage.getStatus() == 0) { SharedPrefsUtil.putUserId(RegisterActivity.this, showMovieMessage.getData().getId() + ""); } else { } Log.e("response", "response"); } }, new ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("response", error + ""); } }) { @Override public Map<String, String> getHeaders() throws AuthFailureError { Map<String, String> headers = new HashMap<String, String>(); headers.put("User-Agent", "123"); return headers; } }; rq.add(req); rq.start(); }
From source file:com.ebay.jetstream.configurationmanagement.JsonUtil.java
License:MIT License
@SuppressWarnings("unchecked") public static <T> T fromJson(String json, TypeToken<T> tt) { return (T) getGson().fromJson(json, tt.getType()); }
From source file:com.es.lib.common.JsonUtil.java
License:Apache License
public static <T> T fromJson(String json, TypeToken<T> token) { return getProcessor().fromJson(json, token.getType()); }
From source file:com.foursquare4j.response.Parser.java
License:Apache License
/** * Converts the given JSON into an object of the given class. * /*from w w w . j a va 2s. c o m*/ * @param json a JSON response. * @param type the type of the generic object to be returned. * @return a Result object with the converted JSON. */ public static <T> Result<T> parse(String json, TypeToken<T> type) { JsonObject obj = new JsonParser().parse(json).getAsJsonObject(); Result.Meta meta = new Gson().fromJson(obj.get("meta"), Result.Meta.class); T response = new Gson().fromJson(obj.get("response"), type.getType()); Result<T> result = new Result<>(); result.setMeta(meta); result.setResponse(response); return result; }
From source file:com.foursquare4j.response.Parser.java
License:Apache License
/** * Converts the given JSON into an object of the given class. * /*from w ww .j av a 2 s . c o m*/ * @param json a JSON response. * @param responseType the object to be parsed in the JSON response. * @param type the type of the generic object to be returned. * @return a Result object with the converted JSON. */ public static <T> Result<T> parse(String json, String responseType, TypeToken<T> type) { JsonObject obj = new JsonParser().parse(json).getAsJsonObject(); Result.Meta meta = new Gson().fromJson(obj.get("meta"), Result.Meta.class); T response = new Gson().fromJson(obj.get("response").getAsJsonObject().get(responseType), type.getType()); Result<T> result = new Result<>(); result.setMeta(meta); result.setResponse(response); return result; }
From source file:com.framework.util.JSONUtil.java
License:Apache License
/** * {@code JSON} ??//w ww . j a va2 s. c o m * * @param <T> ?? * @param json {@code JSON} * @param token {@code com.google.gson.reflect.TypeToken} * @param datePattern ?? * @return {@code JSON} * @since 1.0 */ public static <T> T fromJson(String json, TypeToken<T> token, String datePattern) { if (Tools.isEmpty(json)) { return null; } GsonBuilder builder = new GsonBuilder(); if (Tools.isEmpty(datePattern)) { datePattern = DEFAULT_DATE_PATTERN; } Gson gson = builder.create(); try { return gson.fromJson(json, token.getType()); } catch (Exception ex) { LOGGER.error(json + " ? " + token.getRawType().getName() + " !", ex); return null; } }
From source file:com.gilecode.yagson.adapters.ThreadTypesAdapterFactory.java
License:Apache License
@Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) { Class<? super T> rawType = typeToken.getRawType(); if (ThreadGroup.class.isAssignableFrom(rawType)) { @SuppressWarnings({ "unchecked", "rawtypes" }) TypeAdapter<T> result = (TypeAdapter) new ThreadGroupAdapter(); return result; } else if (Thread.class.isAssignableFrom(rawType)) { @SuppressWarnings({ "unchecked", "rawtypes" }) TypeAdapter<T> result = (TypeAdapter) new ThreadAdapter(); return result; } else if (ThreadLocal.class.isAssignableFrom(rawType)) { TypeToken<?> fieldType = TypeToken.get($Gson$Types.getSingleParameterType(typeToken.getType(), typeToken.getRawType(), ThreadLocal.class)); ReflectiveTypeAdapterFactory.BoundField valueField = new ReflectiveTypeAdapterFactory.DefaultBoundField( "@.value", null, true, true, gson, fieldType) { @Override//w w w . ja va2 s. c om protected boolean writeField(Object value, WriteContext ctx) throws IOException, IllegalAccessException { if (value == null) { return false; } Object threadLocalMap = getCurrentThreadMap(value); return threadLocalMap != null && getThreadLocalEntry(threadLocalMap, value) != null; } @Override @SuppressWarnings("unchecked") protected void applyReadFieldValue(Object value, Object fieldValue) throws IllegalAccessException { if (fieldValue != null) { ((ThreadLocal) value).set(fieldValue); } } @Override protected Object getFieldValue(Object value) throws IllegalAccessException { Object threadLocalMap = getCurrentThreadMap(value); if (threadLocalMap != null) { Object threadLocalEntry = getThreadLocalEntry(threadLocalMap, value); if (threadLocalEntry != null) { return threadLocalEntryValueField.get(threadLocalEntry); } } return null; } @SuppressWarnings("unchecked") protected void applyReadPlaceholder(final Object value, Map<Field, ReferencePlaceholder> fieldPlaceholders, ReferencePlaceholder fieldValuePlaceholder) { // the thread local's "value" is not a real field, so do not add it to 'fieldPlaceholders' map fieldValuePlaceholder.registerUse(new PlaceholderUse() { @Override public void applyActualObject(Object actualObject) throws IOException { try { applyReadFieldValue(value, actualObject); } catch (IllegalAccessException e) { throw new IOException(e); } } }); } }; return gson.getReflectiveTypeAdapterFactory().createSpecial(gson, typeToken, Collections.singletonList(valueField), null); } return null; }
From source file:com.github.gfx.android.orma.gson.SingleAssociationTypeAdapterFactory.java
License:Apache License
@Override public <T> TypeAdapter<T> create(final Gson gson, TypeToken<T> typeToken) { if (!typeToken.getRawType().isAssignableFrom(SingleAssociation.class)) { return null; }// www.j av a 2 s. c om if (!(typeToken.getType() instanceof ParameterizedType)) { throw new ClassCastException( "Expected a parameterized SingleAssociation<T>, but got " + typeToken.getType()); } final Class<?> modelType = (Class<?>) ((ParameterizedType) typeToken.getType()).getActualTypeArguments()[0]; final Schema<?> schema = Schemas.get(modelType); return new TypeAdapter<T>() { @Override public void write(JsonWriter out, T value) throws IOException { SingleAssociation<?> association = (SingleAssociation<?>) value; gson.toJson(association.get(), modelType, out); } @Override @SuppressWarnings("unchecked") public T read(JsonReader in) throws IOException { Object model = gson.fromJson(in, modelType); return (T) SingleAssociation.just((Schema<Object>) schema, model); } }; }