FastJson包括“序列化”和“反序列化”两部分,它具备如下特征:
速度最快;
支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;
第一种方法:
第一步:引入依赖:
com.alibaba fastjson1.2.15
第二步: 启动类继承extends WebMvcConfigurerAdapter
@SpringBootApplication
public class ApiCoreApp extends WebMvcConfigurerAdapter {
@Override
public void configureMessageConverters(List> converters) {
super.configureMessageConverters(converters);
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(
SerializerFeature.PrettyFormat
);
fastConverter.setFastJsonConfig(fastJsonConfig);
converters.add(fastConverter);
}
}
第二种方法:
第一步:依赖
在启动类中注入Bean : HttpMessageConverters
@Bean
public HttpMessageConverters fastJsonHttpMessageConverters() {
//1. 需要定义一个converter转换消息的对象
FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
//2. 添加fastjson的配置信息,比如:是否需要格式化返回的json的数据
FastJsonConfig fastJsonConfig = new FastJsonConfig();
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
//3. 在converter中添加配置信息
fastConverter.setFastJsonConfig(fastJsonConfig);
HttpMessageConverter> converter = fastConverter;
return new HttpMessageConverters(converter);
}
在实体类中可以加入定制Json格式化:
public class User {
private int id;
private String name;
private String password;
@JSonField(format="yyyy-MM-dd: HH:mm") //yyyy年MM月dd: HH:mm"中文会乱码
private java.util.Date createTime;
FastjsonAPI入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成:
public static final Objectparse(Stringtext); //把JSON文本parse为JSONObject或者JSONArray
public static final JSonObjectparseObject(Stringtext); //把JSON文本parse成JSONObject
public static final T parseObject(String text, Classclazz); //把JSON文本parse为JavaBean
public static final JSonArrayparseArray(Stringtext); //把JSON文本parse成JSONArray
public static final List parseArray(String text, Classclazz); //把JSON文本parse成JavaBean集合
public static final StringtoJSonString(Objectobject); //将JavaBean序列化为JSON文本
public static final StringtoJSonString(Objectobject, boolean prettyFormat); //将JavaBean序列化为带格式的JSON文本
public static final ObjecttoJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。



