用Gson泛型解析的时候报错
这里贴一个泛型解析的示例
public <T> T getJSONEntryForDetails(Context context, String fileName, Class<T> cls) {
InputStream inputStream = AssetsHelper.getInstance().openAssets(context, fileName);
if (inputStream == null) {
return null;
}
T entry = null;
JsonReader jsonReader = null;
try {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
jsonReader = new JsonReader(inputStreamReader);
entry = GsonUtils.getInstance().getGson().fromJson(jsonReader, cls);
} finally {
if (jsonReader != null) {
try {
jsonReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return entry;
}
- 其中AssetsHelper用于从assets获取json文件
- 一个是要传入泛型的Class类型,即上面的cls,用于fromJson方法获取对应的目标类型
- 另一个就是返回类型了
欢迎关注我的公众号,和我一起每天进步一点点!