{
"location":{
"residents":[{
"renting":[{
"name":"John Doe"
"pets":"2"
},{
"name":"Jane Smith"
"pets":"2"
}]
}]
}
}
Я могу успешно траверсы место с этим -обход несколько массивов JSON в Play/Scala
val json = ...
val rentReads = (__ \ 'location).read[String]
val rentResult = json.validate[String](rentReads)
rentResult match {
case s: JsSuccess[String] => Ok(s.get)
case e: JsError => Ok("Errors: " + JsError.toFlatJson(e).toString())
}
На основе документации, я должен быть в состоянии сделать что-то вроде этого -
val skillReads = ((__ \ 'location) \ 'residents)(0).read[String]
, но это приводит к следующей ошибке -
Errors: {"obj.VariationResultsWrapper.VariationResultSets[0]":[{"msg":"error.path.missing","args":[]}]}
На данный момент я просто пытаюсь понять, как вернуть значения только из «аренды». В конце концов, я хотел бы сопоставить этот результат с классом case.