如何更紧凑地使用Gson的TypeToken?

时间:2017-05-22 13:19:29

标签: java json gson

我正在使用Gson序列化和反序列化一些JSON。我有一个番石榴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>)

1 个答案:

答案 0 :(得分:1)

为参数化类型TypeToken创建ImmutableMap<String, String>的规范方法是new TypeToken<ImmutableMap<String, String>>() {}(请注意{})。