@SuppressWarnings("unchecked") public static <T> T json2object(String json, TypeToken<T> typeToken) { try { Gson gson = new Gson(); return (T) gson.fromJson(json, typeToken.getType()); } catch (Exception e) { } return null; }
public static <T> T fromJson(String json, TypeToken<T> typeToken) { return GSON.fromJson(json, typeToken.getType()); }
public static <T> T getListFromJson(String jsonString, TypeToken typeToken) { Gson gson = new Gson(); return gson.fromJson(jsonString, typeToken.getType()); }
private static Map<String, Object> jsonToMap(String json) { if (Strings.isNullOrEmpty(json)) { return ImmutableMap.of(); } return Optional.<Map<String, Object>>ofNullable(GSON.fromJson(json, MAP_TYPE_TOKEN.getType())) .orElse(ImmutableMap.of()); } }
private static Map<String, Object> jsonToMap(String json) { if (Strings.isNullOrEmpty(json)) { return ImmutableMap.of(); } return Optional.<Map<String, Object>>ofNullable(GSON.fromJson(json, MAP_TYPE_TOKEN.getType())) .orElse(ImmutableMap.of()); } }
private static Map<String, Object> jsonToMap(String json) { if (Strings.isNullOrEmpty(json)) { return ImmutableMap.of(); } return Optional.<Map<String, Object>>ofNullable(GSON.fromJson(json, MAP_TYPE_TOKEN.getType())) .orElse(ImmutableMap.of()); } }
public ANResponse executeForParsed(TypeToken typeToken) { this.mType = typeToken.getType(); this.mResponseType = ResponseType.PARSED; return SynchronousCall.execute(this); }
@Override public List<Object> parseList(String json) { return parseList(json, (trimmed) -> this.gson.fromJson(trimmed, LIST_TYPE.getType())); }
@Override public Map<String, Object> parseMap(String json) { return parseMap(json, (trimmed) -> this.gson.fromJson(trimmed, MAP_TYPE.getType())); }
@SuppressWarnings("unchecked") @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) { Type rawType = type.getType(); TypeHandler<T> typeHandler = (TypeHandler<T>) typeSerializationLibrary.getHandlerFor(rawType); if (typeHandler == null) { return null; } return new GsonTypeHandlerAdapter<>(typeHandler, gson, type); } }
public void getAsOkHttpResponseAndParsed(TypeToken typeToken, OkHttpResponseAndParsedRequestListener parsedRequestListener) { this.mType = typeToken.getType(); this.mResponseType = ResponseType.PARSED; this.mOkHttpResponseAndParsedRequestListener = parsedRequestListener; ANRequestQueue.getInstance().addRequest(this); }
public void getAsParsed(TypeToken typeToken, ParsedRequestListener parsedRequestListener) { this.mType = typeToken.getType(); this.mResponseType = ResponseType.PARSED; this.mParsedRequestListener = parsedRequestListener; ANRequestQueue.getInstance().addRequest(this); }
@Override public T read(JsonReader in) throws IOException { JsonElement value = Streams.parse(in); if (value.isJsonNull()) { return null; } return deserializer.deserialize(value, typeToken.getType(), (JsonDeserializationContext) ReflectionUtil.readField(gson, "deserializationContext")); }
@Override public void write(JsonWriter out, T value) throws IOException { if (value == null) { out.nullValue(); return; } JsonElement tree = serializer.serialize(value, typeToken.getType(), (JsonSerializationContext) ReflectionUtil.readField(gson, "serializationContext")); Streams.write(tree, out); } }
public static Map<String, Object> toMap(String jsonStr) { if (jsonStr == null || jsonStr.trim().length() == 0) { return Collections.emptyMap(); } // gson uses type tokens for generic input like Map<String,Object> TypeToken<Map<String, Object>> typeToken = new TypeToken<Map<String, Object>>() { }; Map<String, Object> map = GSON.fromJson(jsonStr, typeToken.getType()); return map == null ? Collections.emptyMap() : map; } }
@Override public <R> TypeAdapter<R> create(Gson gson, TypeToken<R> type) { if (ClassUtils.isPrimitiveOrWrapper(type.getRawType()) || type.getType() instanceof GenericArrayType || CharSequence.class.isAssignableFrom(type.getRawType()) || (type.getType() instanceof ParameterizedType && (Collection.class.isAssignableFrom(type.getRawType()) || Map.class.isAssignableFrom(type.getRawType())))) { // delegate primitives, arrays, collections, and maps return null; } if (!this.baseClass.isAssignableFrom(type.getRawType())) { // delegate anything not assignable from base class return null; } TypeAdapter<R> adapter = new InterfaceAdapter<>(gson, this, type); return adapter; }
private static <T> String toJsonIterable(List<? extends T> list, TypeToken<List<T>> typeToken) { return Marshaling.getGson().toJson(list, typeToken.getType()); } }
private static <T> List<T> fromJsonIterable(String json, TypeToken<List<T>> typeToken) { return Marshaling.getGson().fromJson(json, typeToken.getType()); }
public <T> Observable<T> getParseObservable(TypeToken<T> typeToken) { this.setType(typeToken.getType()); this.setResponseAs(ResponseType.PARSED); if (this.getRequestType() == RequestType.SIMPLE) { return RxInternalNetworking.generateSimpleObservable(this); } else if (this.getRequestType() == RequestType.MULTIPART) { return RxInternalNetworking.generateMultipartObservable(this); } else { return null; } }
public <T> Observable<T> getParseObservable(TypeToken<T> typeToken) { this.setType(typeToken.getType()); this.setResponseAs(ResponseType.PARSED); if (this.getRequestType() == RequestType.SIMPLE) { return Rx2InternalNetworking.generateSimpleObservable(this); } else if (this.getRequestType() == RequestType.MULTIPART) { return Rx2InternalNetworking.generateMultipartObservable(this); } else { return null; } }