我需要在我的 Controller 之一中加载一个包含城市列表的JSON
文件,以便随后将其传递到 View 中。
我将文件放在这里:app/assets/jsons/countriesToCities.json
(顺便说一句:这是一个合适的位置,还是应该将其放置在其他位置?)
我已经阅读了文档,可以看到可以从字符串创建JsValue
:https://www.playframework.com/documentation/2.4.x/ScalaJson#Using-string-parsing
我想以类似的方式创建一个JsValue
。所不同的是,我想从文件而不是从字符串加载内容...不幸的是,我没有找到任何有关如何执行此操作的代码段。
我是否必须使用其他方法将文件读入字符串,然后才对该字符串使用parse方法?
带有答案示例的代码片段将不胜感激! :)
提前非常感谢您!
最佳答案
似乎有关可能重复项的注释是如何从您的app / assets文件夹中读取文件。我的答案是关于如何从流中解析Json。将两者结合起来,您应该会很好。
Json.parse
接受几种不同的参数类型,其中一种是InputStream
。
val stream = new FileInputStream(file)
val json = try { Json.parse(stream) } finally { stream.close() }
附言当您在书面文档中找不到所需的内容时,API Docs是一个不错的起点。
关于json - 如何使用Play with Scala加载JSON文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34334462/