如何将数据从 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 的构造函数,也可以有一个 returns 来自数据的 class 实例的静态方法。
以你的例子为例,这意味着:
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 的实例并包含数据。
我有一个具有以下结构的本地 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 的构造函数,也可以有一个 returns 来自数据的 class 实例的静态方法。
以你的例子为例,这意味着:
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 的实例并包含数据。