假设我有一个map.csv
文件位于同一级别(或其他一些 web 应用程序可访问的位置)index-{dev,opt}.html
, e.g.:
key1,value1
key2,value2
...
keyN,valueN
我想读取该 CSV 文件并最终得到一个Map[String,String]
。我知道如何在 Scala 中执行此操作,但在 Scala.js 中如何执行此操作?
我试图不对键和值进行硬编码。
解析基本上与传统 Scala 中的解析方式相同——毕竟,它们是同一种语言。
所以真正的问题是fetching文件。不存在一刀切的解决方案;例如,这取决于您使用的网络服务器。我自己的系统是基于 Play 的,并且同源代码看起来像这样:
override def postInit() = {
val ajaxCall:PlayAjax = controllers.Assets.versioned("messages/default/clientStrings")
ajaxCall.callAjax().map { messageText =>
val hoconTable = HoconParse(messageText)
_messages = Some(MessagesImpl("", hoconTable))
_readyPromise.complete(Success())
}
}
其中的细节对于我的(相当复杂的)设置来说是特定的,但基本原理很简单:发出 AJAX 调用以将文件作为文本加载,然后解析该文件。
还有其他选项 - 例如,在服务器端加载和解析文件,然后使用类似的方法将其作为强类型结构发送到客户端Autowire。这完全取决于您的基础设施是什么样的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)