json调研
目的:
比较各种java中的四种json工具,并选出适合后期项目使用的一种工具,统一让大家来使用。
比较点:
|
java中的json解析工具有:
一、jackson
二、gson
三、json-lib
四、fastjson
|
一、jackson
jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。最新的版本到2.8,稳定版为2.7
从Jackson 2.0起,核心组件包括:
jackson-annotations(带注释的数据绑定包)。
jackson-core(流式的解析器和生成器)。
jackson-databind(对象映射器,JSON树模型)。
1、java对象转json[json序列化]
看demo
2、json转java类[json反序列化]
看demo
3、json注解
Jackson提供了一系列注解,方便对JSON序列化和反序列化进行控制,下面介绍一些常用的注解。
看demo
注:1、默认的时间格式即为timestamps形式。
优势:
|
二、gson
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。目前
最新的版本为:2.7,核心包为:
gson-2.7.jar
1、java对象转json[json序列化]
看demo
2、json转java类[json反序列化]
看demo
3、json注解
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); #个人觉得不太方便。
Gson gson = new GsonBuilder().setVersion(double).create(); #double是指定的版本号
|
三、json-lib
最新的版本为2.4,用最新的jdk15,核心包为
json-lib-2.4-jdk15.jar,
同时依赖以下包:
1、java对象转json[json序列化]
看demo
2、json转java类[json反序列化]
看demo
3、处理器
看demo
劣势:
|
四、fastjson
Fastjson是一个Java语言编写的JSON处理器,由阿里巴巴公司开发。
1、遵循http://json.org标准,为其官方网站收录的参考实现之一。 2、功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。 3、无依赖,不需要例外额外的jar,能够直接跑在JDK上。 4、开源,使用Apache License 2.0协议开源。http://code.alibabatech.com/wiki/display/FastJSON/Home
5、具有超高的性能,java世界里没有其他的json库能够和fastjson可相比了。
1、java对象转json[json序列化]
看demo
2、json转java类[json反序列化]
看demo
3、json注解
注:1、默认的时间格式即为timestamps形式。
|
总结:
|