gpt4 book ai didi

javascript - 从 JSON 对象创建 JavaScript 类

转载 作者:行者123 更新时间:2023-12-03 00:01:35 25 4
gpt4 key购买 nike

我有一个包含信息数据的 JSON 文件,我使用 AJAX 使用此函数获取该数据。

function fetchJSONFile(callback) {
var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState === 4) {
if (httpRequest.status === 200) {
var data = JSON.parse(httpRequest.responseText);
if (callback) callback(data);
}
}
};
httpRequest.open('GET', 'database.json');
httpRequest.send();
}

我获取它并将其分配给当前类的对象:

fetchJSONFile(function(data){ 
employes = Object.assign(new Employes(), ...data.Employes);
console.log(employes);
})

我的 JSON 文件中的数据是这样的:

{

"Employes":[
{
"id": 1,
"fullName": "Test Test"
}
],
"Infos":[
{
"id": 1,
"address": "Test Test test test test",
"employes": 1
}
]
}

我的问题是如何从 JSON 文件自动生成每种对象类型的类。

使用我的代码,例如我想在此处自动生成 EmployesInfos 类,而无需手动创建它们。

fetchJSONFile(function(data){ 
employes = Object.assign(new Employes(), ...data.Employes); //Generate Classes automatically here from data type
console.log(employes);
})

有什么解决办法吗?

最佳答案

JS 本身并不具有与大多数 OOP 语言相同意义上的类。你可能是OOP背景的,你应该了解一下JS的prototype based inheritance .

您将了解您实际上不必创建这些类。您可以通过简单地编写来实现(我认为)您正在寻找的内容:

fetchJSONFile(function(data){ 
employes = data.Employes;
// or, if you wish to make a copy
//employes = data.Employes.map(e => {...e})
console.log(employes);
})

关于javascript - 从 JSON 对象创建 JavaScript 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55148562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com