I want to convert a Seq[(String, String)]
into JSON with Scala play, but I face this error:
No Json serializer found for type Seq[(Strin
If you want to serialize Scala tuples into 2-element JSON arrays (this is pretty common), then you can write an implicit Writes object for the general case of a 2-Tuple (A, B). This will handle your case of (String, String) as well as any other combination of types!
implicit def tuple2Writes[A, B](implicit w1: Writes[A], w2: Writes[B]): Writes[(A, B)] = new Writes[(A, B)] {
def writes(tuple: (A, B)) = JsArray(Seq(w1.writes(tuple._1), w2.writes(tuple._2)))
}
If you place this in a package object, it will be visible to the entire package. That's a nice way to get consistent behavior across many classes (i.e. an entire application).