我有一个“ sample.json”文件,其中包含以下JSON数据:
{"query": "SELECT count(*) FROM TABLE_NAME"}
此文件是由另一个应用程序生成的,位于该应用程序目录中。
我想做的是读取此文件并将键“ query”的值(即TABLE_NAME中的SELECT count(*))提取到val query
中。该val query
将用于查询数据库。
作为Scala的新手,我对找到的其他答案非常迷失。
在Scala中将文件中的值提取到val query
的最简单方法是什么?
除非有必要,否则我不希望使用任何外部库。
答案 0 :(得分:0)
在scala中有无数种解析JSON的方法。对于您的特定任务,这里有一个建议,假设您的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
将包含包裹在option中的SQL查询字符串(否则它将为None
)。接下来,您可能应该检查错误,但是为了简单起见,如果我们盲目地认为一切工作正常,我们现在可以按以下方式访问最终值:
val query = resultOption.get