scala、Circe和Slick中的嵌套JSON

scala、Circe和Slick中的嵌套JSON,scala,slick,akka-http,circe,Scala,Slick,Akka Http,Circe,我的数据库中有一个嵌套的JSON。我已经计算出了同样的案例类。我正在我的Web api应用程序中使用circe、slick和Akka HTTP 我的案例课程是: case class Sen ( sentences: Array[File] ) case class File ( content: String, ) 我已经为相同的嵌套编写了GetResult。我对case类中的数组有问题 implicit lazy val getFile = Get

我的数据库中有一个嵌套的JSON。我已经计算出了同样的案例类。我正在我的Web api应用程序中使用circe、slick和Akka HTTP

我的案例课程是:

case class Sen
  (
    sentences: Array[File]
  )

  case class File
  (
    content: String,
  )
我已经为相同的嵌套编写了GetResult。我对case类中的数组有问题

 implicit lazy val getFile  = GetResult(r => Array[File](r.<<))
 implicit lazy val SenObj = GetResult(r => Sen(getFile(r)))

implicit lazy val getFile=GetResult(r=>Array[File](r.Array[File](r.你对
getFile
的定义是手动构造一个
Array
,特别是你要求一个
Array[File]
。没有
GetResult[File]
,表示
r.GetResult(r=>Array[File](r.您对
getFile
的定义是手动构造一个
Array
,具体来说,您要求的是一个
Array[File]
。没有
GetResult[File]
,这意味着
r.
无法将列值转换为一个代码文件/代码。/p 块引用 p有人能告诉我怎么解决这个问题吗?/p /大宗报价 p您至少需要一个codeGetResult[文件]/code定义。/p pHowever,JSON部分的工作原理还不清楚:/p 保险商实验室 Lip也许您有一列包含应用程序视为JSON的文本。如果是这样,我建议您在光滑的代码层之外进行JSON数组转换。这将保持与数据库之间的直接映射。/p/li lipOr也许您的数据库中有一个JSON类型,并且您正在使用特定于数据库的操作。在这种情况下,我想这将取决于您在那里拥有什么样的控件,并且尝试在光滑层执行JSON数组操作可能是有意义的。(例如,Postgress就是这样,通过库)/p/li /保险商实验室 p但这是另一个问题。/p 作为一般说明,我建议始终明确定义的codeGetResult/代码类型:/p Precodemplicit lazy val getFile:GetResult[Array[File]]= GetResult(r=>Array[File](r。
    Error:diverging implicit expansion for type slick.jdbc.GetResult[T]
starting with method createGetTuple22 in object GetResult
  implicit lazy val getFile  = GetResult(r => Array[File](r.<<))
implicit lazy val getFile: GetResult[Array[File]]= 
  GetResult(r => Array[File](r.<<))

implicit lazy val SenObj: GetResult[Sen] = 
  GetResult(r => Sen(getFile(r)))