fastJSON 、Gson和jackson应用对比 下载本文

内容发布更新时间 : 2024/10/10 6:17:37星期一 下面是文章的全部内容请认真阅读。

实体对象装换为json字符串

Jackson和fastjson都可以将实体对象装换为json字符串,但是fastjson无法将值为null的字段转化到json字符串中,而JackJson则不论对象中字段是否为null都可以转化到json字符串中。

Gson可以将实体对象转换为json字符串,但是值为null的字段没有转化到json字符串中。

List、Map转化为json字符串

普通的map,两种转化形势一样,对于map值为对象的map,fastjson无法将对象中值为null的字段转化进去,而且如果map中的值出现相同的情况,fastjson会出现引用现象,即从第二个相同对象起,键对应的值为第一个对象的引用名称 \ Gson也可以转化map,只是对于map的值为对象的话,如果对象中有属性值为null,则它不会把该属性转化到json字符串中,对于出现相同的对象,它不会出现引用的现象。 list情况和map出现的情况一样,同上。

Json字符串转化为实体对象

Jackson和fastjson和Gson都可以将json字符串转化为实体对象

Json字符串转化为list对象

Jackson无法直接转化为指定实体对象,只能转化为map集合,然后通过键值对的方式读取字段,但是fastjson和Gson则可以直接转化为指定实体对象的list,并以对象的方式直接读取。

对于通过fastjson转化后出现引用现象的json字符串,只有fastjson可以将引用部分还原回原来的对象,而jackjson和Gson则无法识别引用部分的值,只会把引用部分当做字符串转化出来。

Json字符串转化为map对象

Jackson 和 fastjson和Gson都无法直接将map的值转化为指定的实体对象,只能将值转化为map类型的键值对,通过键值对的方式读取字段属性。 通过fastjson转化后的含有引用的json字符串,Jackson和Gson都无法将引用部分的内容还原回原来的数据,只能将引用部分按字符串的显示直接转换出来,而fastjson则可以实现将引用部分的内容还原显示。

所以,如果对象转json字符串,需要将对象的全部字段都转到json字符串中最好使用Jackson,因为它会将字段为null的字段转换到json字符串中,而fastjson和Gson都无法将字段为null的属性转化到json字符串中。