@@ -39,7 +39,7 @@ public class JavaBeanSerializer implements ObjectSerializer {
3939 private final FieldSerializer [] getters ;
4040 private final FieldSerializer [] sortedGetters ;
4141
42- private int features = JSON . DEFAULT_GENERATE_FEATURE ;
42+ private int features = 0 ;
4343
4444 public FieldSerializer [] getGetters () {
4545 return getters ;
@@ -63,6 +63,8 @@ static Map<String, String> createAliasMap(String... aliasList) {
6363 }
6464
6565 public JavaBeanSerializer (Class <?> clazz , Map <String , String > aliasMap ){
66+ this .features = TypeUtils .getSerializeFeatures (clazz );
67+
6668 {
6769 List <FieldSerializer > getterList = new ArrayList <FieldSerializer >();
6870 List <FieldInfo > fieldInfoList = TypeUtils .computeGetters (clazz , aliasMap , false );
@@ -83,15 +85,6 @@ public JavaBeanSerializer(Class<?> clazz, Map<String, String> aliasMap){
8385
8486 sortedGetters = getterList .toArray (new FieldSerializer [getterList .size ()]);
8587 }
86-
87- {
88- JSONType annotation = clazz .getAnnotation (JSONType .class );
89- if (annotation != null ) {
90- for (SerializerFeature feature : annotation .serialzeFeatures ()) {
91- features = SerializerFeature .config (features , feature , true );
92- }
93- }
94- }
9588 }
9689
9790 protected boolean isWriteClassName (JSONSerializer serializer , Object obj , Type fieldType , Object fieldName ) {
@@ -119,7 +112,7 @@ public void write(JSONSerializer serializer, Object object, Object fieldName, Ty
119112 }
120113
121114 SerialContext parent = serializer .getContext ();
122- serializer .setContext (parent , object , fieldName , 0 );
115+ serializer .setContext (parent , object , fieldName , features );
123116
124117 final boolean writeAsArray = serializer .isWriteAsArray (object , fieldType );
125118
0 commit comments