I need help to parse a json string into scala class using playJson
I wrote a formatter but I don't know how to handle the nested arrays.
Where Document Case class is
case class Document(content: String, score: Double, size: Int, path:String)
and formatter
implicit val similarHashFormatter: Format[SimilarHash] = (
((__ \ "hits" \ "hits" \\ "fields")(0) \ "content_hash")(0).format[String] and
(__ \ "hits" \ "hits" \\ "_score").format[Double] and
((__ \ "hits" \ "hits" \\ "fields")(0) \ "ast_size")(0).format[Int] and
((__ \ "hits" \ "hits" \\ "fields")(0) \ "path")(0).format[String]
) (SimilarHash.apply, unlift(SimilarHash.unapply))
This is my source json
{
"hits": {
"hits": [
{
"score": 1.5204661,
"fields": {
"size": [
557645
],
"path": [
"/user/ubuntu/app
],
"content": [
"images"
]
}
},
{
"score": 1.5199462,
"fields": {
"size": [
556835
],
"path": [
"/user/ubuntu/app
],
"content": [
"documents"
]
}
}
]
}
}
Any idea ?