Skip to content

Commit 1e8c1f3

Browse files
committed
Update jackson-module-scala to 3.0.0-rc6
1 parent 3392aa2 commit 1e8c1f3

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ lazy val `jsoniter-scala-benchmark` = crossProject(JVMPlatform, JSPlatform)
253253
"org.json4s" %% "json4s-ext" % "4.1.0-M8",
254254
"org.json4s" %% "json4s-jackson" % "4.1.0-M8",
255255
"org.json4s" %% "json4s-native" % "4.1.0-M8",
256-
"tools.jackson.module" %% "jackson-module-scala" % "3.0.0-rc5",
256+
"tools.jackson.module" %% "jackson-module-scala" % "3.0.0-rc6",
257257
"org.openjdk.jmh" % "jmh-core" % "1.37",
258258
"org.openjdk.jmh" % "jmh-generator-asm" % "1.37",
259259
"org.openjdk.jmh" % "jmh-generator-bytecode" % "1.37",

jsoniter-scala-benchmark/shared/src/main/scala/com/github/plokhotnyuk/jsoniter_scala/benchmark/JacksonSerDesers.scala

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,21 @@ import tools.jackson.databind.cfg.DateTimeFeature
1111
import tools.jackson.databind.module.SimpleModule
1212
import tools.jackson.databind.ser.std.StdSerializer
1313
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}
1515
import com.github.plokhotnyuk.jsoniter_scala.benchmark.SuitEnum.SuitEnum
16+
1617
import java.time.Year
1718
import scala.collection.immutable.BitSet
1819
import scala.collection.mutable
1920

2021
object JacksonSerDesers {
2122
private[this] def createJacksonMapper(escapeNonAscii: Boolean = false, indentOutput: Boolean = false,
2223
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+
}
2329
val jsonFactory = new JsonFactoryBuilder()
2430
.configure(JsonWriteFeature.ESCAPE_NON_ASCII, escapeNonAscii)
2531
.configure(JsonWriteFeature.ESCAPE_FORWARD_SLASHES, false)
@@ -51,8 +57,8 @@ object JacksonSerDesers {
5157
.addModule(BitSetDeserializerModule)
5258
.withConfigOverride(classOf[Year], x => x.setFormat(JsonFormat.Value.forShape(JsonFormat.Shape.STRING)))
5359
.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))
5662
.addSerializer(classOf[SuitADT], new SuitADTSerializer)
5763
.addSerializer(classOf[SuitEnum], new SuiteEnumSerializer)
5864
.addDeserializer(classOf[SuitADT], new SuitADTDeserializer)

0 commit comments

Comments
 (0)