Gson 和 Fastjson 你不知道的事

发布时间:2017-3-25 21:28:40 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Gson 和 Fastjson 你不知道的事 ",主要涉及到Gson 和 Fastjson 你不知道的事 方面的内容,对于Gson 和 Fastjson 你不知道的事 感兴趣的同学可以参考一下。

背景

  目前在公司负责的业务, 主要是跟JSON数据打交道, fastjson 、gson都用, 他们适用于不同场景。fastjson号称是业界处理json效率最高的框架, 没有之一。但在某些场景下, 效率最高的不一定

能适合你 ~ 

  

来, 先上两道菜

第一道普通菜 : 

public class User {    private Long user_id;    private String user_name;    public User() {    }    public User(Long userId, String name) {        this.user_id = userId;        this.user_name = name;    }    public Long getUser_id() {        return user_id;    }    public void setUser_id(Long user_id) {        this.user_id = user_id;    }    public String getUser_name() {        return user_name;    }    public void setUser_name(String user_name) {        this.user_name = user_name;    }        public void setAge(int age) {            }        public int getAge() {        return 18;    }        public void setPwd() {            }        public String getPwd() {        return "pwd";    }}

第二道开胃菜 :

public class GsonAndFastJsonDemo {    public static void main(String[] args) {                Gson gson = new Gson();                String res = gson.toJson(init());        System.out.println(res);                res = JSON.toJSONString(init());        System.out.println(res);    }        static User init() {                User user = new User();        user.setUser_id(1L);        user.setUser_name("威少");                return user;    }}

结果一样么?你猜?

、、、gson{"user_id":1,"user_name":"威少"} 、、、fastjson{"age":18,"pwd":"pwd","user_id":1,"user_name":"威少"}

为毛结果不一样?感兴趣的你, 可以看下源码, fastjson在序列化的时候, 凡是有getMethod方法,其对应属性不管是否已定义, 都能返回值。

gson 在序列化对象的时候, 则显得跟干净, 没有定义属性, 哪怕提供了getMethod, 对它也是无济于事。

上一篇:【ASP.NET Web API教程】1.1 第一个ASP.NET Web API
下一篇:使用filter获取http请求的出参以及入参

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款