public static <T extends BaseEntity> List<T> toJsonList(Object params, Class<T> clz, String key) {

		List<T> results = new ArrayList<T>();
		if (params instanceof Map) {
			Map<String, Object> result = (Map<String, Object>) params;
			if (!ApiUtil.isEmpty(result.get(key))) {

				if (result.get(key) instanceof List) {
					List<Map<String, Object>> list = (List<Map<String, Object>>) result.get(key);

					for (Map<String, Object> obj : list) {
						results.add((T) ApiUtil.toEntity(obj, clz));
					}
				} else if (result.get(key) instanceof String) {

					List<Map<String, Object>> listMap = (List<Map<String, Object>>) new GsonBuilder().registerTypeAdapter(Date.class, deser).create()
					        .fromJson(result.get(key).toString(), List.class);
					for (Map<String, Object> map : listMap) {
						results.add((T) ApiUtil.toEntity(map, clz));
					}
				}

			}
		} else if (params instanceof List) {

			List<Map<String, Object>> dataList = (List<Map<String, Object>>) params;

			for (Map<String, Object> obj : dataList) {
				results.add((T) ApiUtil.toEntity(obj, clz));
			}
		}
		return results;

	}