com.alibaba.fastjson.JSON与com.google.gson.Gson解析复杂json成java bean时遇见的坑

对于解析复杂的json字符串成java bean的解决方法,有阿里提供的FastJson和Google提供的Gson两个方法进行解析,在编写java bean的时候会稍微注意一下,因为会有一些坑。

首先,如果解析嵌套的json成嵌套的java bean ,那么如果你用Gson可以直接正常定义内层class,但如果你用的是FastJson,请为内层class加上static关键字,否则会出现“com.alibaba.fastjson.JSONException: create instance error…”异常。详见友友的文章

再次,两者为java bean的字段赋值的方法不同,初步认为FastJson是通过setter方法为字段赋值的,Gson是通过反射机制为字段赋值的。此结论有待考证,但是FastJson这个是对的,因为我在项目中尝试过在setter方法中为另外的字段赋值,并且成功了。对于Gson的内部机制,如有大神已经考证,望留言补充。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值