Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Play JSON为MySQL创建Doobie元实例?_Mysql_Scala_Playframework_Doobie - Fatal编程技术网

如何使用Play JSON为MySQL创建Doobie元实例?

如何使用Play JSON为MySQL创建Doobie元实例?,mysql,scala,playframework,doobie,Mysql,Scala,Playframework,Doobie,如何使用、MySQL和Play JSON在查询级别实现基本的序列化/反序列化?在互联网上搜索有关MySQL和JDBC中JSON特定类型支持的答案后,似乎我们只有String可用(如果这是错误的,请插话并纠正我)。在我看来,Doobie doc并没有让这个答案变得显而易见,因为提供的例子使用了一个通过PostGRES更严格的例子。不幸的是,MySQL一点也不严谨,但这是另一个话题 现在,这里是一个简单的解决方案示例,它还假设Play JSON读写器在范围内: import doobie.util.

如何使用、MySQL和Play JSON在查询级别实现基本的序列化/反序列化?

在互联网上搜索有关MySQL和JDBC中JSON特定类型支持的答案后,似乎我们只有
String
可用(如果这是错误的,请插话并纠正我)。在我看来,Doobie doc并没有让这个答案变得显而易见,因为提供的例子使用了一个通过PostGRES更严格的例子。不幸的是,MySQL一点也不严谨,但这是另一个话题

现在,这里是一个简单的解决方案示例,它还假设Play JSON读写器在范围内:

import doobie.util.meta.Meta
import play.api.libs.json._

def playJsonMeta[A: Reads: Writes]: Meta[A] = Meta[String].xmap[A](
  Json.parse(_).as[A],
  s => Json.stringify(Json.toJson(s))
)

implicit val fooMeta: Meta[Foo] = playJsonMeta[Foo]

请注意,如果反序列化失败,这将引发异常

在互联网上搜索关于MySQL和JDBC中JSON特定类型支持的答案后,我们似乎只有
String
可用(如果这是错误的,请插话并纠正我)。在我看来,Doobie doc并没有让这个答案变得显而易见,因为提供的例子使用了一个通过PostGRES更严格的例子。不幸的是,MySQL一点也不严谨,但这是另一个话题

现在,这里是一个简单的解决方案示例,它还假设Play JSON读写器在范围内:

import doobie.util.meta.Meta
import play.api.libs.json._

def playJsonMeta[A: Reads: Writes]: Meta[A] = Meta[String].xmap[A](
  Json.parse(_).as[A],
  s => Json.stringify(Json.toJson(s))
)

implicit val fooMeta: Meta[Foo] = playJsonMeta[Foo]
请注意,如果反序列化失败,这将引发异常