Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Type typeOfObjectsList = new TypeToken<ArrayList<myClass>>() {}.getType();
- List<myClass> objectsList = new Gson().fromJson(json, typeOfObjectsList);
- private <T> Type setModelAndGetCorrespondingList2(Class<T> type) {
- Type typeOfObjectsListNew = new TypeToken<ArrayList<T>>() {}.getType();
- return typeOfObjectsListNew;
- }
- java.sql.SQLException: Fail to convert to internal representation: {....my json....}
- new TypeToken<ArrayList<Class.forName(MyClass)>>
- new TypeToken<ArrayList<T>>()
- private static class ListParameterizedType implements ParameterizedType {
- private Type type;
- private ListParameterizedType(Type type) {
- this.type = type;
- }
- @Override
- public Type[] getActualTypeArguments() {
- return new Type[] {type};
- }
- @Override
- public Type getRawType() {
- return ArrayList.class;
- }
- @Override
- public Type getOwnerType() {
- return null;
- }
- // implement equals method too! (as per javadoc)
- }
- Type type = new ListParameterizedType(clazz);
- List<T> list = gson.fromJson(json, type);
- Type type = com.google.gson.internal.$Gson$Types.newParameterizedTypeWithOwner(null, ArrayList.class, clazz);
- TypeToken.getParameterized(ArrayList.class, myClass).getType()
- public <T> List<T> listEntity(Class<T> clazz)
- throws WsIntegracaoException {
- try {
- // Consuming remote method
- String strJson = getService().listEntity(clazz.getName());
- JsonParser parser = new JsonParser();
- JsonArray array = parser.parse(strJson).getAsJsonArray();
- List<T> lst = new ArrayList<T>();
- for(final JsonElement json: array){
- T entity = GSON.fromJson(json, clazz);
- lst.add(entity);
- }
- return lst;
- } catch (Exception e) {
- throw new WsIntegracaoException(
- "WS method error [listEntity()]", e);
- }
- }
- private static <T> Type setModelAndGetCorrespondingList2(Class<T> type) {
- return new TypeToken<ArrayList<T>>() {}
- .where(new TypeParameter<T>() {}, type)
- .getType();
- }
- Type type = ParameterizedTypeImpl.make(List.class, new Type[]{childrenClazz}, null);
- List list = gson.fromJson(json, type);
- ParameterizedTypeImpl.make(Map.class, new Type[]{String.class, childrenClazz}, null);
- Class<T> dataType;
- //...
- JsonElement root = jsonParser.parse(json);
- List<T> data = new ArrayList<>();
- JsonArray rootArray = root.getAsJsonArray();
- for (JsonElement json : rootArray) {
- try {
- data.add(gson.fromJson(json, dataType));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- return data;
Add Comment
Please, Sign In to add comment