diff --git a/src/main/java/com/alibaba/fastjson/serializer/FieldSerializer.java b/src/main/java/com/alibaba/fastjson/serializer/FieldSerializer.java index 2a438cfdd2..55d6db84e8 100644 --- a/src/main/java/com/alibaba/fastjson/serializer/FieldSerializer.java +++ b/src/main/java/com/alibaba/fastjson/serializer/FieldSerializer.java @@ -149,6 +149,12 @@ public Object getPropertyValueDirect(Object object) throws InvocationTargetExcep public Object getPropertyValue(Object object) throws InvocationTargetException, IllegalAccessException { Object propertyValue = fieldInfo.get(object); + if (propertyValue == null) { + JSONField jsonField = fieldInfo.getAnnotation(); + if (jsonField != null && !"".equals(jsonField.defaultValue())) { + propertyValue = jsonField.defaultValue(); + } + } if (format != null && propertyValue != null) { if (fieldInfo.fieldClass == java.util.Date.class || fieldInfo.fieldClass == java.sql.Date.class) { SimpleDateFormat dateFormat = new SimpleDateFormat(format, JSON.defaultLocale);