我正在使用带有 Anorm 的 playframework 2.1.0 来查询数据库。我想将结果序列化为 json 而不通过任何临时对象/案例类。
这就是流程的样子:使用异常:
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 库。但是它们似乎都不适用于开箱即用的 Any 。我尝试使用一些模式匹配为 Any 类型编写隐式编写器,但问题是该编写器总是超过所有其他写入,因此无法正确生成 json。
建议?您如何建议将结果从 Anorm 转换为 Json?没有任何临时域模型。