@@ -50,7 +50,8 @@ public void write(JSONSerializer serializer, Object object, Object fieldName, Ty
50
50
return ;
51
51
}
52
52
53
- if (object .getClass () == java .sql .Date .class ) {
53
+ Class <?> clazz = object .getClass ();
54
+ if (clazz == java .sql .Date .class ) {
54
55
long millis = ((java .sql .Date ) object ).getTime ();
55
56
TimeZone timeZone = serializer .timeZone ;
56
57
int offset = timeZone .getOffset (millis );
@@ -59,6 +60,14 @@ public void write(JSONSerializer serializer, Object object, Object fieldName, Ty
59
60
return ;
60
61
}
61
62
}
63
+
64
+ if (clazz == java .sql .Time .class ) {
65
+ long millis = ((java .sql .Time ) object ).getTime ();
66
+ if (millis < 24L * 60L * 60L * 1000L ) {
67
+ out .writeString (object .toString ());
68
+ return ;
69
+ }
70
+ }
62
71
63
72
Date date ;
64
73
if (object instanceof Date ) {
@@ -79,15 +88,15 @@ public void write(JSONSerializer serializer, Object object, Object fieldName, Ty
79
88
}
80
89
81
90
if (out .isEnabled (SerializerFeature .WriteClassName )) {
82
- if (object . getClass () != fieldType ) {
83
- if (object . getClass () == java .util .Date .class ) {
91
+ if (clazz != fieldType ) {
92
+ if (clazz == java .util .Date .class ) {
84
93
out .write ("new Date(" );
85
94
out .writeLong (((Date ) object ).getTime ());
86
95
out .write (')' );
87
96
} else {
88
97
out .write ('{' );
89
98
out .writeFieldName (JSON .DEFAULT_TYPE_KEY );
90
- serializer .write (object . getClass () .getName ());
99
+ serializer .write (clazz .getName ());
91
100
out .writeFieldValue (',' , "val" , ((Date ) object ).getTime ());
92
101
out .write ('}' );
93
102
}
0 commit comments