在json的光滑表定义中使用什么数据类型?

在json的光滑表定义中使用什么数据类型?,json,scala,playframework,slick,Json,Scala,Playframework,Slick,我数据库中的一个表有一个json类型的列。我想知道,在Slick中定义表时应该使用哪种数据类型? 目前,对于特定的列,我使用Blob,因为我发现它是建议的。 我想知道是否可以使用Play framework Play.libs.json提供的json库类?如果是,怎么做?我需要隐式映射器吗 Slick提供了Slick不支持的功能。 在我的例子中:将Json作为字符串保存到数据库中,并在代码中使用我使用的JValues: 我不确定这是否适用于你的情况。但这是一种在Slick中映射任何自定义数据类型

我数据库中的一个表有一个json类型的列。我想知道,在Slick中定义表时应该使用哪种数据类型? 目前,对于特定的列,我使用Blob,因为我发现它是建议的。 我想知道是否可以使用Play framework Play.libs.json提供的json库类?如果是,怎么做?我需要隐式映射器吗

Slick提供了Slick不支持的功能。 在我的例子中:将Json作为字符串保存到数据库中,并在代码中使用我使用的JValues:

我不确定这是否适用于你的情况。但这是一种在Slick中映射任何自定义数据类型的方法

object JsonMapper{
   import driver.api._

   implicit val jsonMapper = MappedColumnType.base[JValue, String](
      { json => write(framesType) /* json writer */ }, 
      { str =>parse(str)  /*json parser */ }
     )
  }

 import JsonMapper._

  case class Info(id:Int, json:JValue)
  class DBTable(tag:Tag) extends Table[Info](tag, "info"){
    val id = column[Int]("id")
    val json = column[JValue]("json")
    def * = (id ,json) <> (Info.tupled, Info.unapply)
  }