Вы пытались сначала распечатать объект и проверить, правильно ли он отформатирован в JSON, потому что мне кажется, что все работает нормально.
val json: JsValue = Json.parse("""{
"mydata": [
{"first": "aa"},
{"second": "bb"},
{"third": "cc"}
]
}""")
(json \ "mydata").asOpt[Seq[JsValue]].getOrElse(None)
Попробуйте реализовать что-то вроде этого.