Существует множество способов анализа JSON в scala. Для вашей конкретной задачи, вот одно предложение, если предположить, что ваша строка JSON была прочитана в переменную jsonStr
:
import scala.util.parsing.json.JSON
val resultOption = JSON.parseFull(jsonStr) match {
case Some(map: Map[String, String]) => map.get("query")
case _ => None
}
Теперь, если синтаксический анализ завершился успешно, resultOption
будет содержать строку запроса SQL, заключенную в опцию (в противном случае это будет None
). Далее, вам, вероятно, следует проверить на наличие ошибок, но ради простоты, если мы слепо предположим, что все работает хорошо, мы можем теперь получить доступ к конечному значению следующим образом:
val query = resultOption.get