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字段默認被排序的毛?。?/p>
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 ? '\'' : '"';
}免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。