我使用https://github.com/DanielaSfregola/twitter4s,我需要阅读并解析Json中twitter4s提供的User类。
所以我尝试创建以下序列化程序:
object User {
implicit val twitterUser: OFormat[User] = Json.format[User]
}
但这会返回No unapply or unapplySeq function found
如何为此外部类创建正确的序列化程序?
答案 0 :(得分:2)
你的问题是User
有很多字段(即超过22个字段)。在scala 2.10中,案例类的字段数有限制。这在2.11中消失了,但在Play!的Json.format
宏中没有消失,因为它们继续支持2.10。
但是,您可以使用Json Extra,它具有不同的宏实现,并允许您超过22个字段。
如果您不喜欢这样(宏有一些限制,例如不输出OFormat
),您还可以将User
类拆分为两个(或更多)类,而不是22个字段,并根据这些字段构建初始字段,为Format
提供一个更简单(更安全)的实现,如果你手工完成整个事情,你将需要做什么。
您还可以阅读this question,以获得进一步的解释。