要在Jackson中使用Scala模块,只需在ObjectMapper实例中注册它即可:

val mapper = new ObjectMapper()
mapper.registerModule(DefaultScalaModule)

DefaultScalaModule是一个Scala对象,它支持所有当前Scala支持的数据类型。如果只需要部分支持,则可以分别包含组件特征:

val module = new OptionModule with TupleModule {}

val mapper = new ObjectMapper()
mapper.registerModule(moudle)

你也可以混合ScalaObjectMapper(实验性)来获得丰富的包装器,它可以自动将scala清单直接转换为TypeReferences,供Jackson使用:

val mapper = new ObjectMapper() with ScalaObjectMapper
mapper.registerModule(DefaultScalaModule)
val myMap = mapper.readValue[Map[String,Tuple2[Int,Int]]](src)