1、创建json序列化接口
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.serializer.ValueFilter;
import com.jfinal.json.*;
import com.jfinal.plugin.activerecord.Record;
public class FastJsonFactoryCustomer extends JFinalJsonFactory {
private static final FastJsonFactoryCustomer me = new FastJsonFactoryCustomer();
public static JFinalJsonFactory me() {
return me;
}
@Override
public Json getJson() {
return new FastJsonCustomer();
}
}
class FastJsonCustomer extends JFinalJson {
static {
// 支持序列化 ActiveRecord 的 Record 类型
SerializeConfig.getGlobalInstance().put(Record.class, new FastJsonRecordSerializer());
}
ValueFilter filter = new ValueFilter() {
@Override
public Object process(Object obj, String s, Object v) {
if (v instanceof Long)
return v.toString();
return v;
}
};
public static FastJsonCustomer getJson() {
return new FastJsonCustomer();
}
public String toJson(Object object) {
// 优先使用对象级的属性 datePattern, 然后才是全局性的 defaultDatePattern
return JSON.toJSONString(object,
filter, SerializerFeature.WriteDateUseDateFormat); // return JSON.toJSONString(object, SerializerFeature.WriteDateUseDateFormat);
}
public <T> T parse(String jsonString, Class<T> type) {
return JSON.parseObject(jsonString, type);
}
}
2、配置Jfianl 常量中json工厂配置
@Override
public void configConstant(Constants me) {
//Json配置
// me.setJsonFactory(FastJsonFactory.me());
me.setJsonFactory(FastJsonFactoryCustomer.me());
}
最后修改于 2020-04-16 13:32:11
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

