播放2.3:如何计算json子节点?

Hoa*_*Ong 2 json scala playframework playframework-json

我有这个json:

{
  "errors": {
    "password": [
      "This field is required"
    ],
    "email": [
      "This field is required"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

如何计算"错误"节点下的子节点?

mav*_*azy 5

一种方法,你可以这样做:

import play.api.libs.json.{JsObject, Json}

val errors = """{"errors":{"password":["This field is required"],"email":["This field is required"]}}"""
val errorsCount = Json.parse(errors).
    asOpt[JsObject].
    flatMap(json => (json \ "errors").asOpt[JsObject]).
    map(json => json.fields.size).getOrElse(0)
Run Code Online (Sandbox Code Playgroud)