【各种**问题系列】FastJSON 泛型对象解析
2023-12-20 16:57:36
📌 问题背景:?
????????解析 JSON,并将其转换为对应的数据结构。转换普通对象时,可以直接使用 Class 实例进行直接转换:
A a = JSON.parseObject(str, A.class);
? ? ? ? 但是,如果是 类似 Map这里集合(带有泛型)对象,直接转换则格式可能并不正确:
// 如果需要Map<String, String> 结果不是想要的格式
Map a = JSON.parseObject(str, Map.class)
📌 解决方案:
? ? ? ? 使用?TypeReference 进行解析:
// 可以直接使用
HashMap<String, String> map = JSONObject.parseObject(str, new TypeReference<HashMap<String, String>>(){});
// 其他类型对象
EnjoyResponseDTO<EnjoyPageResponseDataDTO<Long>> result = JSONObject.parseObject(str, new TypeReference<EnjoyResponseDTO<EnjoyPageResponseDataDTO<Long>>>(){});
// 或者type的构造中使用参数
EnjoyResponseDTO<EnjoyPageResponseDataDTO<T>> result = JSONObject.parseObject(str, new TypeReference<EnjoyResponseDTO<EnjoyPageResponseDataDTO<T>>>(Long.class){});
? ? ? ? 在?TypeReference 的泛型中传入需要反序列化的泛型对象即可。
文章来源:https://blog.csdn.net/weixin_52058417/article/details/135107750
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!