如何使用本地 JSON 资产在 Scala.js 中模拟 API

How to use local JSON assets to simulate API in Scala.js

我是 Scala 和 Scala.js 的新手,我想尝试处理 JSON 数据。我想通过 返回我的 Scala.js 项目本地 JSON 文件的内容来模拟服务器响应,解析它并使用数据 。最好的方法是什么?我应该将这些文件放在我的项目树中的什么位置,如何获取它们的内容?

假设我有一个名为 myJSON.json 的文件,其中包含类似

的内容
[
  {
    "ress": "AR",
    "lastDate": "2017-10-27 09:19:18"
  },
  {
    "ress": "JIM",
    "lastDate": "2017-10-27 06:57:15"
  },
  {
    "ress": "JOE",
    "lastDate": "2017-09-29 11:57:39"
  }
]

我可以将这个文件放在我的项目中的某个地方,以便我可以读取这个文件,然后解析它的内容以某种方式使用它(可以显示在浏览器中,记录到控制台等...)?我想我可以使用 scala-js 之类的工具或类似的工具进行解析,但是 首先访问文件内容是我试图弄清楚的 .

请注意,我使用的是 scala-js。

提前致谢!

就像上面其他人所说的那样,在浏览器中运行的Javascript一般无法访问本地文件系统。有一些例外:

  • The File API 允许您使用 <input type="file" /> 访问用户在 UI 中选择的文件或拖放到浏览器中 window.

  • The Filesystem API 允许您以您想要的方式访问文件,但它是非标准的并且在大多数浏览器中不受支持。 Scala.js 似乎也没有类型,但我不确定。

scala-js-dom 具有您可以使用的文件 API 的类型——在其来源中搜索 FileFileList 类型。它的 API 反映了 Javascript API,因此您需要了解如何在 JS 中执行此操作。然后将其翻译成 Scala.js 会很容易(或者至少是一个不同的问题)。

如果文件 API 不适用于您的用例,另一种选择是使用 json-server 之类的东西通过 HTTP 轻松地在本地主机上提供您的 JSON 文件。