fastjson应用
来源:互联网 发布:通关宝典考试软件 编辑:程序博客网 时间:2024/05/22 04:30
JSON介绍
JSON如今已经作为跨语言、前后端数据交互的一种标准,当我使用java做后台的时候经常需要向前端传递json格式的数据,或者将前端传递过来的json数据进行解析。这时候就需要json的解析器了,www.json.org是json的标准,上面有许多json解析器。
fastjson介绍
fastjson是阿里开源的使用java实现的json解析器,其速度是目前java中最快的json解析器。它支持Java Bean、Collection、List、Map等常用java集合。
Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。--官网
下载:https://github.com/alibaba/fastjson/
常用API
fastjson入口类是:com.alibaba.fastjson.JSON,主要API是JSON.toJSONString和JSON.parseObject
public abstract class JSON{public static final String toJSONString(Object object);public static final <T> T parseObject(String,text,Class<T> class,Feature... feature)}
序列化
String jsonString = JSON.toJSONString(obj);
反序列化
Ob ob = JSON.parseObject("....",Ob.class);
泛型反序列化
List<VO> list = JSON.parseObject("....",new TypeReference<List<VO>>(){});
JSONField
JSONField是JSON支持的注解:public @interface JSONField { /** * config encode/decode ordinal * @since 1.1.42 * @return */ int ordinal() default 0; //配置序列化和反序列化的顺序 String name() default "";//指定字段名称 String format() default "";//指定字段的格式,对日期格式有效 boolean serialize() default true;//是否序列化 boolean deserialize() default true;//是否反序列化}使用案例
public Class User{@JSONField(ordinal=3)//指定序列化顺序,默认javabean是根据fieldName的字母顺序序列化的@JSONField(name="ID") //配置在field上private int id;@JSONField(ordinal=2)@JOSNField(serialize=false) //指定字段不参与序列化private String name; @JSONField(ordinal=1)@JSONField(format=yyMMdd) //指定日期格式化private String birthday;@JSONField(name="ID") //配置在set/getxx上面public setId(int id){this.id=id}}
更过使用查看:https://github.com/alibaba/fastjson/wiki/
通用后台JSON
import com.alibaba.fastjson.JSONObject;public class CommonResult{private int code;//返回状态码private String msg;//返回信息private Object data;//返回数据public CommonResult(){}public CommonResult(int code,String msg){this.code = code;this.msg = msg;}public CommonResult(int code,String msg,Object data){this(code,msg);this.data = data;}public CommonResult defaultError(String msg){return CommonResult.build(1,msg);}public CommonResult success(String msg){return CommonResult.build(0,msg);}public CommonResult success(Object data){return CommonResult.build(0,"success",data);}public CommonResult success(String msg,Object data){return CommonResult.build(0,msg,data);}public static CommonResult build(int code,String msg){return CommonResult.build(code,msg,"");}public static CommonResult build(int code,String msg,Object data){CommonResult res = new CommonResult(code,msg,data);return res;}public JSONObject toJson(){JSONObject json = new JSONObject();json.put("code",this.code);json.put("msg",this.msg);json.put("data",this.data);return json;}public int getCode() {return code;}public void setCode(int code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Object getData() {return data;}public void setData(Object data) {this.data = data;}}
0 0
- fastjson应用
- FastJSON应用前测试
- FastJSON应用前测试
- FastJSON应用前测试
- FastJson的各种应用
- FastJSON应用前测试
- FastJSON 应用前测试
- FastJson的各种应用
- fastJson应用简介
- FastJSON 应用介绍
- fastJson 笔记-简单应用
- Json应用之FastJson
- Json应用案例之FastJson
- fastJson
- FastJson
- fastjson
- fastjson
- fastjson
- IOS开发之实现App消息推送(最新)
- java关于static粗陋见解
- 苹果审核规则研究,实时更新
- android - Hybrid App
- Android手势识别之GestureDetector
- fastjson应用
- maven的pom文件报plugins找不到
- 提升【按位异或】历史地位的一帖。
- 如何用Xcode7免证书真机测试
- mybatis缓存机制
- iOS 安全攻防系列(一):获取手机联系人
- LeetCode 70:Climbing Stairs
- spring data jpa 内部接口参照表
- 什么是百度转码?如何禁止网站百度转码?