code: public static <T> T jsonToObject(Gson gson, JsonElement elem, String key, Class<T> classType) {
          if(elem != null && !elem.isJsonNull()) {
              JsonElement keyElem = elem.getAsJsonObject().get(key);
              if(keyElem != null && !keyElem.isJsonNull()) {
                  return gson.fromJson(elem.getAsJsonObject().get(key), classType);
              } else {
                  return null;
              }
          } else {
              return null;
          }
      }
docs: JSON