List of usage examples for com.google.gson.reflect TypeToken getType
public final Type getType()
From source file:com.github.jobs.templates.fetcher.StackOverflowUsersFetcher.java
License:Apache License
public List<SOUser> findUser(String username) { String url = String.format(URL, username); try {//from ww w . j a v a 2 s . c om String response = HttpHandler.getInstance().getRequest(url); // convert json to object Gson gson = new Gson(); TypeToken<List<SOUser>> typeToken = new TypeToken<List<SOUser>>() { }; JSONObject jsonObject = new JSONObject(response); JSONArray jsonArray = jsonObject.getJSONArray("items"); return gson.fromJson(jsonArray.toString(), typeToken.getType()); } catch (Exception e) { e.printStackTrace(); } return null; }
From source file:com.github.ljtfreitas.restify.http.client.message.converter.json.GsonMessageConverter.java
License:Open Source License
@Override public T read(HttpResponseMessage httpResponseMessage, Type expectedType) throws RestifyHttpMessageReadException { try {//from w ww. j av a 2s . co m TypeToken<?> token = TypeToken.get(expectedType); Reader json = new InputStreamReader(httpResponseMessage.body()); return this.gson.fromJson(json, token.getType()); } catch (JsonIOException | JsonSyntaxException e) { throw new RestifyHttpMessageReadException(e); } }
From source file:com.github.yangweigbh.volleyx.demo.request.GsonRequest.java
License:Apache License
public GsonRequest(String url, TypeToken<T> token, Listener<T> listener, ErrorListener errorListener) { super(Method.GET, url, errorListener); mGson = new Gson(); mType = token.getType(); mListener1 = listener;/*from w ww. j a va2s . c o m*/ }
From source file:com.google.caliper.json.ImmutableListTypeAdatperFactory.java
License:Apache License
@SuppressWarnings("unchecked") @Override//from w w w. j ava 2 s.c o m public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) { Type type = typeToken.getType(); if (typeToken.getRawType() != ImmutableList.class || !(type instanceof ParameterizedType)) { return null; } com.google.common.reflect.TypeToken<ImmutableList<?>> betterToken = (com.google.common.reflect.TypeToken<ImmutableList<?>>) com.google.common.reflect.TypeToken .of(typeToken.getType()); final TypeAdapter<ArrayList<?>> arrayListAdapter = (TypeAdapter<ArrayList<?>>) gson.getAdapter( TypeToken.get(betterToken.getSupertype(List.class).getSubtype(ArrayList.class).getType())); return new TypeAdapter<T>() { @Override public void write(JsonWriter out, T value) throws IOException { ArrayList<?> arrayList = Lists.newArrayList((List<?>) value); arrayListAdapter.write(out, arrayList); } @Override public T read(JsonReader in) throws IOException { ArrayList<?> arrayList = arrayListAdapter.read(in); return (T) ImmutableList.copyOf(arrayList); } }; }
From source file:com.google.caliper.json.ImmutableMapTypeAdapterFactory.java
License:Apache License
@SuppressWarnings("unchecked") @Override/*from w w w. j a va2 s . c om*/ public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) { Type type = typeToken.getType(); if (typeToken.getRawType() != ImmutableMap.class || !(type instanceof ParameterizedType)) { return null; } com.google.common.reflect.TypeToken<ImmutableMap<?, ?>> betterToken = (com.google.common.reflect.TypeToken<ImmutableMap<?, ?>>) com.google.common.reflect.TypeToken .of(typeToken.getType()); final TypeAdapter<HashMap<?, ?>> hashMapAdapter = (TypeAdapter<HashMap<?, ?>>) gson .getAdapter(TypeToken.get(betterToken.getSupertype(Map.class).getSubtype(HashMap.class).getType())); return new TypeAdapter<T>() { @Override public void write(JsonWriter out, T value) throws IOException { HashMap<?, ?> hashMap = Maps.newHashMap((Map<?, ?>) value); hashMapAdapter.write(out, hashMap); } @Override public T read(JsonReader in) throws IOException { HashMap<?, ?> hashMap = hashMapAdapter.read(in); return (T) ImmutableMap.copyOf(hashMap); } }; }
From source file:com.google.caliper.json.NaturallySortedMapTypeAdapterFactory.java
License:Apache License
@SuppressWarnings("unchecked") @Override// w w w . j a v a 2 s . co m public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) { Type type = typeToken.getType(); if (!CLASSES.contains(typeToken.getRawType()) || !(type instanceof ParameterizedType)) { return null; } com.google.common.reflect.TypeToken<SortedMap<?, ?>> betterToken = (com.google.common.reflect.TypeToken<SortedMap<?, ?>>) com.google.common.reflect.TypeToken .of(typeToken.getType()); final TypeAdapter<Map<?, ?>> mapAdapter = (TypeAdapter<Map<?, ?>>) gson .getAdapter(TypeToken.get(betterToken.getSupertype(Map.class).getType())); return new TypeAdapter<T>() { @Override public void write(JsonWriter out, T value) throws IOException { TreeMap<?, ?> treeMap = Maps.newTreeMap((SortedMap<?, ?>) value); mapAdapter.write(out, treeMap); } @SuppressWarnings("rawtypes") @Override public T read(JsonReader in) throws IOException { TreeMap treeMap = Maps.newTreeMap(); treeMap.putAll(mapAdapter.read(in)); return (T) treeMap; } }; }
From source file:com.googleapis.maps.services.impl.BaseGoogleMapsApiQuery.java
License:Apache License
/** * Unmarshall./*from w ww . j ava2 s.c om*/ * * @param typeToken the type token * @param response the response * * @return the e */ @SuppressWarnings("unchecked") protected <E> E unmarshall(TypeToken<E> typeToken, JsonElement response) { Gson gson = getGsonBuilder().create(); return (E) gson.fromJson(response, typeToken.getType()); }
From source file:com.gradleware.tooling.toolingutils.distribution.PublishedGradleVersions.java
License:Apache License
/** * Creates a new instance based on the provided version information. * * @param json the json string containing the version information * @return the new instance//from ww w. ja v a2 s. c om */ public static PublishedGradleVersions create(String json) { // convert versions from JSON String to JSON Map Gson gson = new GsonBuilder().create(); TypeToken<List<Map<String, String>>> typeToken = new TypeToken<List<Map<String, String>>>() { }; List<Map<String, String>> versions = gson.fromJson(json, typeToken.getType()); // create instance return new PublishedGradleVersions(versions); }
From source file:com.gs.reladomo.serial.gson.GsonWrappedTypeAdaptorFactory.java
License:Apache License
@Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) { if (Serialized.class.equals(typeToken.getRawType())) { Type type = typeToken.getType(); if (type instanceof ParameterizedType) { Type[] typeArguments = ((ParameterizedType) type).getActualTypeArguments(); return new GsonWrappedTypedAdapter((Class) typeArguments[0]); }/*from w ww . j av a 2 s . c om*/ return new GsonWrappedTypedAdapter(null); } if (SerializedList.class.equals(typeToken.getRawType())) { Type type = typeToken.getType(); if (type instanceof ParameterizedType) { Type[] typeArguments = ((ParameterizedType) type).getActualTypeArguments(); return new GsonWrappedListTypedAdapter((Class) typeArguments[0]); } return new GsonWrappedListTypedAdapter(null); } return null; }
From source file:com.hkm.disqus.api.gson.BlacklistsEntryTypeAdapterFactory.java
License:Apache License
@Override public <T> TypeAdapter<T> create(final Gson gson, TypeToken<T> type) { // Return null if not a blacklist entry object if (!type.getType().equals(Entry.class)) { return null; }//from w w w .ja v a2s . c o m // Get delegate final TypeAdapter<T> delegate = gson.getDelegateAdapter(this, type); // Return adapter return new TypeAdapter<T>() { @Override public void write(JsonWriter out, T value) throws IOException { delegate.write(out, value); } @Override public T read(JsonReader in) throws IOException { JsonElement jsonTree = gson.fromJson(in, JsonElement.class); JsonElement value = jsonTree.getAsJsonObject().get("value"); // Process the entry with the delegate T entry = delegate.fromJsonTree(jsonTree); // Process value if needed if (value.isJsonObject()) { ((Entry) entry).value = gson.fromJson(value, User.class); } // Return entry return entry; } }; }