gpt4 book ai didi

java - 如何在通用类型的 gson 上使用自定义反序列化?

转载 作者:太空宇宙 更新时间:2023-11-03 12:32:19 25 4
gpt4 key购买 nike

对于标准的POJO,我们可以使用下面的

GsonBuilder gson = new GsonBuilder();
gson.registerTypeAdapter(MyType2.class, new MyTypeAdapter());
gson.registerTypeAdapter(MyType.class, new MySerializer());
gson.registerTypeAdapter(MyType.class, new MyDeserializer());
gson.registerTypeAdapter(MyType.class, new MyInstanceCreator());

如果 POJO 是通用的呢? Gson user guide没有提到它。以下是我的代码,但不正确。

gsonBuilder.registerTypeAdapter(CustomResponse<POJOA>.getClass(), new POJOADeserializer());
gsonBuilder.registerTypeAdapter(CustomResponse<POJOB>.getClass(), new POJOBDeserializer());
gsonBuilder.registerTypeAdapter(CustomResponse<POJOC>.getClass(), new POJOCDeserializer());

最佳答案

而不是这样做:

gsonBuilder.registerTypeAdapter(CustomResponse<POJOA>.getClass(), new POJOADeserializer());

像这样注册你的反序列化器:

gsonBuilder.registerTypeAdapter(
new TypeToken<CustomResponse<POJOA>>(){}.getType(), new POJOADeserializer());

关于java - 如何在通用类型的 gson 上使用自定义反序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29860545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com