您可以使用TypeToken将json字符串加载到自定义对象中。
logs = gson.fromJson(br, new TypeToken<List<JsonLog>>(){}.getType());
表示泛型类型 。
Java尚未提供表示通用类型的方法,因此此类提供了。强制客户端创建此类的子类,即使在运行时也可以检索类型信息。
例如,要为创建类型文字List<String>
,您可以创建一个空的匿名内部类:
TypeToken<List<String>> list = new TypeToken<List<String>>() {};
该语法不能用于创建具有通配符参数(例如Class<?>
或)的类型文字List<? extends CharSequence>
。
如果您需要在 进行操作,则可以这样操作:
val myType = object : TypeToken<List<JsonLong>>() {}.type
val logs = gson.fromJson<List<JsonLong>>(br, myType)
。