0

play アプリケーション用の play json ライブラリを使用して json 解析を行う方法を知っています。たとえば、次のコードがあります。

class PersonController extends Controller {
    case class Person(age: Int, name: String)
    implicit val personReads = Json.reads[Person]
    implicit val personWrites = Json.writes[Person]

    def create = Action(parse.json) { implicit request =>
        rs.body.validate[Person] match {
            case s: JsSuccess => ...
            case e: JsError => ...
        }
    }
}

Play json の代わりに Argonaut を使用して Reads and Writes のようなコードを書くにはどうすればよいですか?

4

2 に答える 2

0

この点に関しては、Argonautのドキュメントはかなり包括的です。Codecで生成する必要があります

implicit def PersonCodecJson: CodecJson[Person] =
    casecodec2(Person.apply, Person.unapply)("age", "name")

そして、オブジェクトを取り戻すために使用decodeValidationします。Validation

val result2: Validation[String, Person] =
    Parse.decodeValidation[Person](json)
于 2015-09-29T05:45:00.503 に答える