Я новичок в scala и в playframework, но пока все отлично. Мне трудно понять, как превратить список данных в json (или любую сложную структуру). Это не реальный пример, но вот что я пытаюсь сделать. Получить некоторые данные из базы данных.
scala> val result:List[(Long,String)] = DB.withConnection { implicit c =>
SQL("select * from users").as(
long("id")~str("uid") map(flatten)*)
}
result: List[(Long, String)] = List((3,397a73ee5150429786863db144341bb3), (4,2850760dc9024c16bea6c8c65f409821), (5,636ee2bf758e4f699f27890ac55d7db2))
Я хотел бы затем превратить это в json и вернуть его. на основе этого документа похоже, что мне нужно выполнить итерацию и вызвать toJson для результата
http://www.playframework.org/documentation/2.0/ScalaJson
Но на практике у меня возникают проблемы с этим. Это вообще правильный подход? Есть ли какая-то концепция scala, которая упростит это? Я видел несколько примеров с использованием case-классов, но я еще не совсем понял эту концепцию.
Я действительно не ожидаю, что это сработает, но, думаю, я концептуально пытаюсь сделать что-то подобное
scala> toJson(Map("response" -> result))
<console>:27: error: No Json deserializer found for type scala.collection.immutable.Map[java.lang.String,List[(Long, String)]]. Try to implement an implicit Writes or Format for this type.
toJson(Map("response" -> result))
Спасибо