我正在使用 Gson 来序列化和反序列化一些 JSON。我有一个 Guava ImmutableMap<String, String>
,我想反序列化。我设法找到了serializer in Google Caliper 。
Gson 需要 Type
反序列化到。我可以像这样生成一个:
gson.fromJson(
serialized,
TypeToken.getParameterized(ImmutableMap.class, String.class, String.class).getType());
TypeToken.getParameterized(ImmutableMap.class, String.class, String.class).getType()
这部分感觉非常手动且容易出错。
是否有更好的替代方案,看起来更像这样?
// Does not compile
Type.of(ImmutableMap<String, String>)
最佳答案
创建 TypeToken
的规范方法对于像 ImmutableMap<String, String>
这样的参数化类型是 new TypeToken<ImmutableMap<String, String>>() {}
(注意 {}
)。
关于java - 如何更紧凑地使用Gson的TypeToken?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44113984/