Guest User

Untitled

a guest
Oct 18th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.62 KB | None | 0 0
  1. Type typeOfObjectsList = new TypeToken<ArrayList<myClass>>() {}.getType();
  2. List<myClass> objectsList = new Gson().fromJson(json, typeOfObjectsList);
  3.  
  4. private <T> Type setModelAndGetCorrespondingList2(Class<T> type) {
  5. Type typeOfObjectsListNew = new TypeToken<ArrayList<T>>() {}.getType();
  6. return typeOfObjectsListNew;
  7. }
  8.  
  9. java.sql.SQLException: Fail to convert to internal representation: {....my json....}
  10.  
  11. new TypeToken<ArrayList<Class.forName(MyClass)>>
  12.  
  13. new TypeToken<ArrayList<T>>()
  14.  
  15. private static class ListParameterizedType implements ParameterizedType {
  16.  
  17. private Type type;
  18.  
  19. private ListParameterizedType(Type type) {
  20. this.type = type;
  21. }
  22.  
  23. @Override
  24. public Type[] getActualTypeArguments() {
  25. return new Type[] {type};
  26. }
  27.  
  28. @Override
  29. public Type getRawType() {
  30. return ArrayList.class;
  31. }
  32.  
  33. @Override
  34. public Type getOwnerType() {
  35. return null;
  36. }
  37.  
  38. // implement equals method too! (as per javadoc)
  39. }
  40.  
  41. Type type = new ListParameterizedType(clazz);
  42. List<T> list = gson.fromJson(json, type);
  43.  
  44. Type type = com.google.gson.internal.$Gson$Types.newParameterizedTypeWithOwner(null, ArrayList.class, clazz);
  45.  
  46. TypeToken.getParameterized(ArrayList.class, myClass).getType()
  47.  
  48. public <T> List<T> listEntity(Class<T> clazz)
  49. throws WsIntegracaoException {
  50. try {
  51. // Consuming remote method
  52. String strJson = getService().listEntity(clazz.getName());
  53.  
  54. JsonParser parser = new JsonParser();
  55. JsonArray array = parser.parse(strJson).getAsJsonArray();
  56.  
  57. List<T> lst = new ArrayList<T>();
  58. for(final JsonElement json: array){
  59. T entity = GSON.fromJson(json, clazz);
  60. lst.add(entity);
  61. }
  62.  
  63. return lst;
  64.  
  65. } catch (Exception e) {
  66. throw new WsIntegracaoException(
  67. "WS method error [listEntity()]", e);
  68. }
  69. }
  70.  
  71. private static <T> Type setModelAndGetCorrespondingList2(Class<T> type) {
  72. return new TypeToken<ArrayList<T>>() {}
  73. .where(new TypeParameter<T>() {}, type)
  74. .getType();
  75. }
  76.  
  77. Type type = ParameterizedTypeImpl.make(List.class, new Type[]{childrenClazz}, null);
  78. List list = gson.fromJson(json, type);
  79.  
  80. ParameterizedTypeImpl.make(Map.class, new Type[]{String.class, childrenClazz}, null);
  81.  
  82. Class<T> dataType;
  83.  
  84. //...
  85.  
  86. JsonElement root = jsonParser.parse(json);
  87. List<T> data = new ArrayList<>();
  88. JsonArray rootArray = root.getAsJsonArray();
  89. for (JsonElement json : rootArray) {
  90. try {
  91. data.add(gson.fromJson(json, dataType));
  92. } catch (Exception e) {
  93. e.printStackTrace();
  94. }
  95. }
  96. return data;
Add Comment
Please, Sign In to add comment