Я использую playframework 2.1.0 с Anorm для запроса базы данных. Я хочу сериализовать результат в json, не проходя через какие-либо промежуточные объекты/классы case.
вот как выглядит поток: Использование anorm:
DB.withConnection { implicit c =>
val q = SQL(""" long query goes here """)
q().toList
}
затем я беру этот результат и преобразовываю его из List[SqlRow] в List[Map[String,Any]]. String,Any — имя столбца, значение (Object/Any)
val asMap = info.toList.map(row => scala.collection.immutable.Map(row.asMap.toSeq:_*))
Я хотел бы jsonize это.
Я пробовал некоторые json-библиотеки: GSON, spray-json, playframework json lib. Но ни один из них, похоже, не работает с Any из коробки. Я попытался написать неявный модуль записи для типа Any с некоторым сопоставлением с образцом, но проблема в том, что этот модуль записи всегда опережает все остальные операции записи, поэтому json создается неправильно.
Советовать? Как бы вы предложили преобразовать результат из Anorm в Json? без каких-либо промежуточных моделей предметной области.