Scala Play List[Any] 到 JsArray
Scala Play List[Any] to JsArray
我有一个 List[Any]
,我想将其转换为 JsArray
。
作品类型列表:
Json.arr(List("1"))
但是:
Json.arr(List("1").asInstanceOf[List[Any]])
投掷:
diverging implicit expansion for type play.api.libs.json.Reads[T1]
starting with method oFormatFromReadsAndOWrites in object OFormat
如何将 List[Any]
转换为 JsArray
?
我试过了:
implicit val listAnyFormat: OFormat[List[Any]] = Json.format[List[Any]]
但我被抛出:
No instance of Reads is available for scala.collection.immutable.Nil in the implicit scope
使用 Play 2.8.x 和 Scala 2.11.8
你不能。
至少在没有定义 Format[Any]
的情况下,技术上可以做到,但可能无法涵盖所有可能的情况。
问题是为什么你首先有一个 List[Any]
?它在 Scala 世界中没有多大意义。
如果你能有一个 List[Something]
会更好,其中 Something
有一组已知的子类型并且每个子类型都有一个 Format
.
我有一个 List[Any]
,我想将其转换为 JsArray
。
作品类型列表:
Json.arr(List("1"))
但是:
Json.arr(List("1").asInstanceOf[List[Any]])
投掷:
diverging implicit expansion for type play.api.libs.json.Reads[T1]
starting with method oFormatFromReadsAndOWrites in object OFormat
如何将 List[Any]
转换为 JsArray
?
我试过了:
implicit val listAnyFormat: OFormat[List[Any]] = Json.format[List[Any]]
但我被抛出:
No instance of Reads is available for scala.collection.immutable.Nil in the implicit scope
使用 Play 2.8.x 和 Scala 2.11.8
你不能。
至少在没有定义 Format[Any]
的情况下,技术上可以做到,但可能无法涵盖所有可能的情况。
问题是为什么你首先有一个 List[Any]
?它在 Scala 世界中没有多大意义。
如果你能有一个 List[Something]
会更好,其中 Something
有一组已知的子类型并且每个子类型都有一个 Format
.