枚举类型给我们的程序带来了好处,如何用Gson来实现与Json的互转呢?请看本文.
?
本文重点掌握如何自己写一个TypeAdapter及注册TypeAdapter和处理Enum类型.
?
实体类:
?
?
?
- public?enum?PackageState?{??
- ????PLAY,?UPDATE,?UPDATING,?DOWNLOAD,?DOWNLOADING,??
- }??
?
- public?class?PackageItem?{??
- ????private?String?name;??
- ????private?PackageState?state;??
- ????private?String?size;??
- ??
- ????public?String?getName()?{??
- ????????return?name;??
- ????}??
- ??
- ????public?void?setName(String?name)?{??
- ????????this.name?=?name;??
- ????}??
- ??
- ????public?PackageState?getState()?{??
- ????????return?state;??
- ????}??
- ??
- ????public?void?setState(PackageState?state)?{??
- ????????this.state?=?state;??
- ????}??
- ??
- ????public?String?getSize()?{??
- ????????return?size;??
- ????}??
- ??
- ????public?void?setSize(String?size)?{??
- ????????this.size?=?size;??
- ????}??
- ??
- ????@Override??
- ????public?String?toString()?{??
- ????????return?"PackageItem?[name="?+?name?+?",?size="?+?size?+?",?state="??
- ????????????????+?state?+?"]";??
- ????}??
- }??
自己写一个转换器实现JsonSerializer<T>接口和jsonDeserializer<T>接口:
?
?
- mport?java.la