Example usage for com.google.gson.reflect TypeToken getType

List of usage examples for com.google.gson.reflect TypeToken getType

Introduction

In this page you can find the example usage for com.google.gson.reflect TypeToken getType.

Prototype

public final Type getType() 

Source Link

Document

Gets underlying Type instance.

Usage

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);
        }
    };
}