JSON мне нужна помощь, чтобы разобрать строку JSON в классе, используя лестницу playJsonScala - преобразовать строку в Json с помощью Play
Я написал форматчик, но я не знаю, как обращаться с вложенными массивами.
Где Документ Case класс
case class Document(content: String, score: Double, size: Int, path:String)
и форматировщик
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))
Это мой источник 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"
]
}
}
]
}
}
Любая идея?
, что делает ваш взгляд определения класса SCALA как? в большинстве случаев проще всего использовать макрос Json.format для вашего класса case для обработки более сложных моделей. – josephpconley
@josephpconley Я просто добавил класс Case Document, какой-нибудь пример использования макроса Json.format? –