@@ -11,15 +11,21 @@ import tools.jackson.databind.cfg.DateTimeFeature
11
11
import tools .jackson .databind .module .SimpleModule
12
12
import tools .jackson .databind .ser .std .StdSerializer
13
13
import tools .jackson .module .scala .deser .{ImmutableBitSetDeserializer , MutableBitSetDeserializer }
14
- import tools .jackson .module .scala .{BitSetDeserializerModule , ClassTagExtensions , DefaultScalaModule }
14
+ import tools .jackson .module .scala .{BitSetDeserializerModule , ClassTagExtensions , DefaultScalaModule , ScalaModule }
15
15
import com .github .plokhotnyuk .jsoniter_scala .benchmark .SuitEnum .SuitEnum
16
+
16
17
import java .time .Year
17
18
import scala .collection .immutable .BitSet
18
19
import scala .collection .mutable
19
20
20
21
object JacksonSerDesers {
21
22
private [this ] def createJacksonMapper (escapeNonAscii : Boolean = false , indentOutput : Boolean = false ,
22
23
booleanAsString : Boolean = false , byteArrayAsBase64String : Boolean = true ): ObjectMapper with ClassTagExtensions = {
24
+ val scalaModuleConfig = new ScalaModule .Config {
25
+ override def shouldSupportScala3Classes (): Boolean = true
26
+
27
+ override def shouldDeserializeNullCollectionsAsEmpty (): Boolean = true
28
+ }
23
29
val jsonFactory = new JsonFactoryBuilder ()
24
30
.configure(JsonWriteFeature .ESCAPE_NON_ASCII , escapeNonAscii)
25
31
.configure(JsonWriteFeature .ESCAPE_FORWARD_SLASHES , false )
@@ -51,8 +57,8 @@ object JacksonSerDesers {
51
57
.addModule(BitSetDeserializerModule )
52
58
.withConfigOverride(classOf [Year ], x => x.setFormat(JsonFormat .Value .forShape(JsonFormat .Shape .STRING )))
53
59
.addModule(new SimpleModule ()
54
- .addDeserializer(classOf [BitSet ], ImmutableBitSetDeserializer )
55
- .addDeserializer(classOf [mutable.BitSet ], MutableBitSetDeserializer )
60
+ .addDeserializer(classOf [BitSet ], new ImmutableBitSetDeserializer (scalaModuleConfig) )
61
+ .addDeserializer(classOf [mutable.BitSet ], new MutableBitSetDeserializer (scalaModuleConfig) )
56
62
.addSerializer(classOf [SuitADT ], new SuitADTSerializer )
57
63
.addSerializer(classOf [SuitEnum ], new SuiteEnumSerializer )
58
64
.addDeserializer(classOf [SuitADT ], new SuitADTDeserializer )
0 commit comments