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

2017-04-20 10:59:07 +08:00
 Totato5749

比如有个 json:

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

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

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

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

5612 次点击
所在节点    Android
12 条回复
twocity
2017-04-20 11:11:24 +08:00
TypeAdapter
29995270
2017-04-20 11:44:28 +08:00
楼上正解
feeeeeef
2017-04-20 11:54:52 +08:00
GSON 解析效率比较低,尽量避开不要用
XhstormR
2017-04-20 13:03:26 +08:00
@feeeeeef 意思是说换个用 fastjson ?
taowen
2017-04-20 13:12:48 +08:00
推荐 jackson
wadenash1991
2017-04-20 13:18:49 +08:00
livelazily
2017-04-20 13:22:52 +08:00
zzzmode
2017-04-20 13:26:25 +08:00
用 @SerializedName 的 alternate
Ervin
2017-04-20 16:20:02 +08:00
8 楼正解
29995270
2017-04-20 17:01:25 +08:00
人家是换算啊,不是换名字啊, 用 @SerializedName 没用
klesh
2017-04-20 17:59:01 +08:00
这种情形做个 mapping 不是更方便吗?写个中间类型再转换,既简单又通用啊。
honeycomb
2017-04-20 18:01:10 +08:00
@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