I have a List[Any] which I want to convert to a JsArray.
List with type works:
Json.arr(List("1"))
But:
Json.arr(List("1").asInstanceOf[List[Any]])
throws:
diverging implicit expansion for type play.api.libs.json.Reads[T1]
starting with method oFormatFromReadsAndOWrites in object OFormat
How can I convert List[Any] to JsArray?
I tried:
implicit val listAnyFormat: OFormat[List[Any]] = Json.format[List[Any]]
But I get thrown with:
No instance of Reads is available for scala.collection.immutable.Nil in the implicit scope
Using Play 2.8.x and Scala 2.11.8
CodePudding user response:
You can't.
At least not without defining a Format[Any] which can be done technically but will likely not cover all the possible cases.
The question is why do you have a List[Any] in the first place? It has not much sense in Scala world.
It would be better if you could have a List[Something] where Something has a known set of subtypes and each of them has a Format.
