为JSON集类型定义`Reads`

为JSON集类型定义`Reads`,第1张

为JSON集类型定义`Reads`

(...)(People)
语法是为您使用构造参数列表(嗯,从技术上讲,它是一个
Builder
,而不是列表)而设计的,
and
并希望将
People
构造函数提升到应用函子中,
Reads
以便可以将其应用于这些参数

例如,如果您的

People
类型如下所示:

case class People(names: Set[Id], home: String)

您可以这样写:

implicit val PeopleReads: Reads[People] = (  (__  "names").read[Set[Id]] and  (__  "home").read[String])(People)

但是,在您的情况下,for的构造函数

People
只有一个参数,并且您没有使用过
and
,所以您没有a
Builder[Reads[Set[Id] ~String]
,您只是拥有一个普通的old
Reads[Set[Id]]

很好,因为它意味着您不需要怪异的应用函子语法,而您所需要的只是

map

implicit val PeopleReads = (__  "names").read[Set[Id]].map(People)

这样就完成了。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5652180.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存