Skip to content

AntoineDuComptoirDesPharmacies/jackson-scala-reflect-extensions

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Maven Central

jackson-scala-reflect-extensions

Jackson Scala 2 support that uses scala-reflect to get type info. The problem that this lib solves in described in this FAQ entry.

This lib is designed to be used with jackson-module-scala. By default, jackson-module-scala uses Java reflection to work out the class structure.

The Scala3 equivalent is jackson-scala3-reflection-extensions.

ScalaReflectExtensions can be mixed into your ObjectMapper in as a similar way to jackson-module-scala's ClassTagExtensions and ScalaObjectMapper.

libraryDependencies += "com.github.pjfanning" %% "jackson-scala-reflect-extensions" % "2.13.4"
import com.fasterxml.jackson.databind.json.JsonMapper
import com.fasterxml.jackson.module.scala.DefaultScalaModule
import com.github.pjfanning.jackson.reflect.ScalaReflectExtensions

val mapperBuilder = JsonMapper.builder()
  .addModule(DefaultScalaModule)

val mapper = mapperBuilder.build() :: ScalaReflectExtensions

// this should also work but Jackson is moving to supporting only creating mapper instances from a builder
val mapper2 = new ObjectMapper with ScalaReflectExtensions
mapper2.registerModule(DefaultScalaModule)

val instance = mapper.readValue[MyClass](jsonText)

About

Extension to jackson-module-scala that uses scala-reflect to get type info

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Scala 100.0%