在工作中,经常客服端需要和服务端进行通信,目前很多项目都采用JSON的方式进行数据传输,简单的参数可以通过手动拼接JSON字符串,但如果请求的参数过多,采用手动拼接JSON字符串,出错率就非常大了。并且工作效率也特别低。
我在网上看了一些开源的JSON框架,比如Google提供的Gson,Jackson,FastJson等框架。
经过测试,个人觉得FastJson执行效率比较高,而且简单易用。
FastJson不依赖于第三方包, 直接可以运行在Java JDK1.5之上,FastJson完全支持http://json.org的标准,支持各种JDK类型,包括基本类型、JavaBean、Collection、Map、Enum、泛型等
还支持循环引用。
FastJson项目是开源的:Fastjson代码托管在github.org上,项目地址是https://github.com/AlibabaTech/fastjson
一个JSON库涉及的最基本功能就是序列化和反序列化。Fastjson支持java bean的直接序列化。使用com.alibaba.fastjson.JSON这个类进行序列化和反序列化。
一。简单的序列化
- pubicclassUserInfoimplementsSerializable{
- privateStringname;
- privateintage;
- publicvoidsetName(Stringname){
- this.name=name;
- }
- publicStringgetName(){
- returnname;
- }
- voidsetAge(intage){
- this.age=age;
- intgetAge(){
- returnage;
- classTestOne{
- staticvoidmain(String[]args){
- UserInfoinfo=newUserInfo();
- info.setName("zhangsan");
- info.setAge(24);
- //将对象转换为JSON字符串
- Stringstr_json=JSON.toJSONString(info);
- System.out.println("JSON="+str_json);
- }
二.复杂的数据类型
copy