如果您的进口是有序的,那么这应该可以工作:
import argonaut._, Argonaut._
case class Address(street: String, number: Int, postcode: Int)
object Address {
implicit def AddressCodecJson: CodecJson[Address] =
casecodec3(Address.apply, Address.unapply)("street", "number", "post_code")
}
在 REPL 中确保进入粘贴模式
scala> :paste
// Entering paste mode (ctrl-D to finish)
import argonaut._, Argonaut._
case class Address(street: String, number: Int, postcode: Int)
object Address {
implicit def AddressCodecJson: CodecJson[Address] =
casecodec3(Address.apply, Address.unapply)("street", "number", "post_code")
}
// Exiting paste mode, now interpreting.
defined class Address
defined object Address
您在 github 中看不到源代码,因为源代码是生成的,例如 GeneratedCodecJsons.scala
这里的构建中定义的
https://github.com/argonaut-io/argonaut/blob/master/project/Boilerplate.scala