Gson 对 Map 嵌套类型的序列化与反序列化
来源:互联网 发布:201淘宝开店成功经验 编辑:程序博客网 时间:2024/06/05 04:39
Gson 对 Map<String, Object> 嵌套类型的序列化与反序列化
gson 简介:
Gson is a Java library that can be used to convert Java Objects into its JSON representation
gson 扩展的一种方式:通过com.google.gson.GsonBuilder 注册TypeAdapter:
demo code:
遇到的问题:
遇到这样的情况,对于现有的随机的数据(数据格式无法确定,类型复杂),需要使用 Map<String, Object> 类型于json格式互相转换,其中Map中的Object类型的value可能会是Map<String, Object>.现有的gson版本会遇到 无法序列化或者无法反序列化,因为gson是通过Map<String, Object> 去确定value的类型为Object.class,无法进一步序列化。
改进:
照猫画虎,扩展现有的com.google.gson.DefaultTypeAdapters.MapTypeAdapter(此类为package visible, 要么copy代码,要么让自己的package为com.google.gson)
代码demo:
使用方式:
局限:
这样仅仅解决了gson对于嵌套的Map<String, Object>类型的序列化与反序列化,并且要求Map中的value为primative type or
Map<String, Object>(代码42行,使用“{”作为判断是否为complex value type)
- Gson 对 Map 嵌套类型的序列化与反序列化
- 使用Gson对多个枚举类型的统一序列化/反序列化处理
- Gson序列化与反序列化成员变量为Map<String,Object>的类对象
- Gson之常见的序列化与反序列化
- Gson教程二(译):嵌套对象的序列化和反序列化
- Gson 反序列化Map<String, Object>类型的小问题
- 【泛型】Gson的序列化和反序列化
- Gson的序列化和反序列化
- 关于Gson序列化与反序列化的一些总结
- 用序列化与反序列化实现C#中对Class类型参数的传值调用
- Gson 反序列化
- 序列化与反序列
- 序列化与反序列
- C# 复杂类型序列化与反序列化
- JSON序列化与反序列化匿名类型
- gson简单的反序列化
- Gson反序列化的实现原理
- Gson 序列化对象和反序列化 实例
- otl 直接使用字符串连接mysql数据库
- H.264解码器ffmpeg完整优化代码(包括PC和Windows Mobile版本)
- exej4_Java打包工具操作步骤
- 杭电 1013 Digital Roots (栈的做法)
- servlet是单例的!!所以需要线程安全
- Gson 对 Map 嵌套类型的序列化与反序列化
- http://sqcwfiu.javaeye.com/blog/555137
- JAVA类,JSP,Servlet获取工程路径
- 自己遇到的一些面试题总结(2)
- wpf listview的数据绑定(dataset)与selectedItem的数据
- W. :递归版插入排序
- java 多态性总结
- 6 ways of doing locking in .NET (Pessimistic and optimistic)
- Calculator