Gson 有没有办法可以介入反序列化的过程?

2017 年 4 月 20 日
 Totato5749

比如有个 json:

{ "name":"jack", "birth":1990 }

一般来说正常的反序列化过程是定义一个 bean ,有 name 与 birth 两个字段,然后使用 Gson 自动反序列化输出对象实例

然而我现在有一个 bean 有两个字段,分别是 name 和 age

那么我如何用 Gson 在反序列化的过程中使用我自定义的 bean 并输出对象实例?(也就是自动将 birth 换算成 age )

13931 次点击
所在节点    Android
12 条回复
twocity
2017 年 4 月 20 日
TypeAdapter
29995270
2017 年 4 月 20 日
楼上正解
feeeeeef
2017 年 4 月 20 日
GSON 解析效率比较低,尽量避开不要用
XhstormR
2017 年 4 月 20 日
@feeeeeef 意思是说换个用 fastjson ?
taowen
2017 年 4 月 20 日
推荐 jackson
wadenash1991
2017 年 4 月 20 日
livelazily
2017 年 4 月 20 日
zzzmode
2017 年 4 月 20 日
用 @SerializedName 的 alternate
Ervin
2017 年 4 月 20 日
8 楼正解
29995270
2017 年 4 月 20 日
人家是换算啊,不是换名字啊, 用 @SerializedName 没用
klesh
2017 年 4 月 20 日
这种情形做个 mapping 不是更方便吗?写个中间类型再转换,既简单又通用啊。
honeycomb
2017 年 4 月 20 日
@XhstormR
Jackson 更好
有评测认为 gson 的性能差一些

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/356099

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX