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