java是可以使用Gson的。fromJson()获取ArrayList<ArrayList<String>?
假设我有一个json
数组
String jsonString = [["John","25"],["Peter","37"]];
我想把它分成ArrayList<ArrayList<String>>
个对象。当我使用
Gson.fromJson(jsonString,ArrayList<ArrayList<String>>.class)
它似乎不起作用,我用
Gson.fromJson(jsonString,String[][].class)
有更好的方法吗
# 1 楼答案
是的,使用^{}
TypeToken
允许您指定实际需要的泛型类型,这有助于Gson在反序列化期间找到要使用的类型它使用这个gem:^{} 。由于它是一个匿名类,所以它是
TypeToken<...>
的子类。这相当于一门课该方法的规范规定:
如果你指定
返回的} 检索实际的类型参数
Type
对象实际上是一个ParameterizedType
,您可以在其上使用^{类型参数将是上述示例中
java.lang.String
的Type
对象。在您的示例中,它将是ArrayList<ArrayList<String>>
对应的Type
对象。Gson将继续沿着这条链往下走,直到它构建出所需类型的完整地图