我正在尝试将隐式写入声明从嵌入式对象导入到一个函数中,该函数基于一组案例类生成 JSON 对象。
case class TestModel(test:String)
object TestModel {
def manyToJSON(models: List[TestModel]) = {
import writes.micro
Json.toJson(models)
}
object writes {
implicit val micro = Json.writes[TestModel]
}
}
不幸的是,scala 编译器抱怨:
未找到类型 List[models.TestModel] 的 Json 序列化程序。尝试为此类型实现隐式写入或格式。
有趣的是,如果我在方法中使用 write 对象作为纯表达式,它的工作原理。
object TestModel {
def manyToJSON(models: List[TestModel]) = {
import writes.micro
writes.micro
Json.toJson(models)
}
object writes {
implicit val micro = Json.writes[TestModel]
}
}
我将如何更改我的代码以具有隐式范围?