我需要JSON
在我的一个控制器中加载一个带有城市列表的文件,以便之后将其传递给视图.
我把文件放在这里:( 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() }
PS如果您无法在书面文档中找到所需内容,那么API文档就是一个很好的起点.
以下是我设法解决的方法:
val source: String = Source.fromFile("app/assets/jsons/countriesToCities.json").getLines.mkString val json: JsValue = Json.parse(source)
谢谢您的帮助!:)