Scala - извлечение значения из файла, содержащего данные в формате JSON - PullRequest
0 голосов
/ 29 октября 2018

У меня есть файл sample.json, содержащий следующие данные JSON:

{"query": "SELECT count(*)  FROM TABLE_NAME"}

Этот файл создается другим приложением и помещается в каталог этого приложения.

Что я хочу сделать, так это прочитать этот файл и извлечь значение (то есть SELECT count (*) FROM TABLE_NAME) ключа 'query' в val query. Это val query будет использоваться для запроса базы данных.

Будучи новичком в Scala, я совершенно заблудился в других ответах, которые нашел. Какой самый простой способ извлечь значение из файла в val query в Scala?

Я бы предпочел не использовать какие-либо внешние библиотеки, если в этом нет особой необходимости.

1 Ответ

0 голосов
/ 29 октября 2018

Существует множество способов анализа 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...