要在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)