簡體   English   中英

如何將數據從 JSON 文件傳遞到 JavaScript class

[英]How to pass data from a JSON file to a JavaScript class

我有一個具有以下結構的本地 JSON 文件:

{ "project_id": 324,
  "project_name": "Project",
  "contributors": [
       { "name": "James", "dpto": "dpto1" },
       { "name": "Carl", "dpto": "dpto2" }] }

和一個 class 項目,我不確定它應該是這樣的:

class project {
     constructor(id, name, contributors){
        this.id = id;
        this.name = name;
        this.contributors = contributors; 

現在,我可以在使用 fetch 后處理數據,但我不知道如何在響應之外使用它。

我想獲取 JSON 文件並將其放入 class 我可以在響應之外使用。 就像是:

.fetch('project.json')
   .then(function (response) {
       return response.json();
   })
   .then(function (data) {
      // Class Project = data;
   })
   .catch(function (err) {
      console.log('error: ' + err);
});

//The data now can be used directly through the class.
Project.CallFunction();

我需要對這些數據進行相當多的操作,而且我對 JavaScript 不是很熟悉,所以我想把它帶到一個更熟悉的領域,有一些更具體的東西會更容易使用。

您可以有一個采用 JSON 的構造函數,也可以有一個從數據中返回 class 實例的 static 方法。

以你的例子為例,這意味着:

const project = await fetch('project.json')
   .then(function (response) {
       return response.json();
   })
   .then(function (data) {
      return new Project(data);
   })
   .catch(function (err) {
      console.log('error: ' + err);
   });

project將成為Project class 的一個實例並包含數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM