博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决FastJson 1.2.39的bug
阅读量:6983 次
发布时间:2019-06-27

本文共 1778 字,大约阅读时间需要 5 分钟。

1、日期转换默认格式覆盖注解格式的bug;

com.alibaba.fastjson.serializer.JSONSerializer#writeWithFormat

修改后的代码:

public final void writeWithFormat(Object object, String format) {    if (object instanceof Date) {        DateFormat dateFormat = this.getDateFormat();        if(format!=null){            dateFormat = new SimpleDateFormat(format, locale);            dateFormat.setTimeZone(timeZone);        }        String text = dateFormat.format((Date) object);        out.writeString(text);        return;    }    write(object);}

2、解决转JSON时候Bean字段默认被排序的毛病:

com.alibaba.fastjson.serializer.SerializeWriter#computeFeatures

修改的代码:

    protected void computeFeatures() {        quoteFieldNames = (this.features & SerializerFeature.QuoteFieldNames.mask) != 0;        useSingleQuotes = (this.features & SerializerFeature.UseSingleQuotes.mask) != 0;//        sortField = (this.features & SerializerFeature.SortField.mask) != 0;        sortField = false;        disableCircularReferenceDetect = (this.features & SerializerFeature.DisableCircularReferenceDetect.mask) != 0;        beanToArray = (this.features & SerializerFeature.BeanToArray.mask) != 0;        writeNonStringValueAsString = (this.features & SerializerFeature.WriteNonStringValueAsString.mask) != 0;        notWriteDefaultValue = (this.features & SerializerFeature.NotWriteDefaultValue.mask) != 0;        writeEnumUsingName = (this.features & SerializerFeature.WriteEnumUsingName.mask) != 0;        writeEnumUsingToString = (this.features & SerializerFeature.WriteEnumUsingToString.mask) != 0;        writeDirect = quoteFieldNames //                      && (this.features & nonDirectFeautres) == 0 //                      && (beanToArray || writeEnumUsingName)                      ;        keySeperator = useSingleQuotes ? '\'' : '"';    }

转载地址:http://zivpl.baihongyu.com/

你可能感兴趣的文章
基于Servlet_MVC模式增删改查_model(1)
查看>>
利用jquery的qrcode.js插件生成二维码的两种方式的使用
查看>>
Linux内存释放脚本
查看>>
京宝软件开始发布了
查看>>
网络分层协议图以及各层的简介
查看>>
socke三
查看>>
ExtJs6 理解 -- Ext.data.proxy.Proxy
查看>>
mysql开局配置
查看>>
C#深拷贝
查看>>
魅族 C++ 微服务框架技术内幕揭秘
查看>>
flask 学习笔记 mvc ,sqlalchemy(insert,update)
查看>>
HTML基础(一)
查看>>
EGOImageView 解析
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
linux日常管理3
查看>>
JQ 实现点击按钮显示弹窗,点击非弹窗和按钮区域隐藏弹窗
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
1.解读REST和JAX-RS
查看>>