【发布时间】:2013-04-20 12:49:44
【问题描述】:
我正在使用带有 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:_*))
我想把这个json化。
我尝试了一些 json 库:GSON、spray-json、playframework json 库。 但是它们似乎都不适用于开箱即用的 Any 。 我尝试使用一些模式匹配为 Any 类型编写隐式编写器,但问题是该编写器总是超过所有其他写入,因此无法正确生成 json。
建议? 您如何建议将结果从 Anorm 转换为 Json?没有任何临时域模型。
【问题讨论】:
标签: json serialization playframework playframework-2.1 anorm