scala、Circe和Slick中的嵌套JSON
我的数据库中有一个嵌套的JSON。我已经计算出了同样的案例类。我正在我的Web api应用程序中使用circe、slick和Akka HTTP 我的案例课程是: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
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)))