玩Json - 更新字段(哈希吧)

时间:2013-08-29 15:16:48

标签: json scala playframework-2.0

我有以下json登录验证器:

  val loginValidator: Reads[JsObject] = (
    ((__ \ 'username).json.pickBranch(Reads.of[JsString]) or
      (__ \ 'email).json.pickBranch(Reads.of[JsString] keepAnd email)) and
    (__ \ 'pw).json.pickBranch(Reads.of[JsString])
  ).reduce

如何使用函数对密码进行哈希处理:String =>字符串(假设它是一个方法Password.hash(plain:String)?

1 个答案:

答案 0 :(得分:0)

好的,这似乎有效:

  val loginValidator: Reads[JsObject] = (
    ((__ \ 'username).json.pickBranch(Reads.of[JsString]) or
      (__ \ 'email).json.pickBranch(Reads.of[JsString] keepAnd email)) and
    (__ \ 'pw).json.pickBranch(Reads.of[JsString]).map(a => Json.obj("pw" -> User.Password.hash((a \ "pw").as[String])))
  ).reduce

但似乎还有比这更好的方法。有人知道吗?