javascript - 从 JSON 模式生成 JavaScript 类

标签 javascript json

我有一个 JSON 文件,其中包含有关我的工作的信息和数据,如下所示:

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

我想在 JS 代码上自动生成 EmployesInfos 类,并向其中添加一些方法。

fetchJSONFile 这是一个使用 AJAX 从 JSON 文件获取数据的函数:

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', 'datas.json');
    httpRequest.send(); 
}

因此,在生成函数上我想自动生成类并向其分配对象,我尝试这样做:

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

在这一行中,我将 JSON 对象分配给我的 Employes() 类,我的问题是如何生成 Employes() 自动分配 JSON 类型,所以如果是 Infos 例如 new Employes() 变为 new Infos() ...等等

我想这样做,向这些类添加一些函数,例如 addNew()deleteOne() .... 等等,都是关于 CRUD 的。

有什么解决办法吗?

最佳答案

您可以创建一个DynamicClass类,它接受输入值和type,可以是Employes、Infos...

function DynamicClass (data, type) {
  this.type = type;
  // Init function
}
DynamicClass.prototype.xxxx = function () {}

您现在可以仅使用数据对象来创建类。

fetchJSONFile(function(data){
  for(var key in data) {
    var classObj  = new DynamicClass(data[key], key);
  }
});

关于javascript - 从 JSON 模式生成 JavaScript 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55157190/

相关文章:

javascript - 保存当前用户值以在 HTML 中使用

javascript - 在 Javascript 中优化和实现冗长的函数数组

java - 如何在 Android 中解析复杂的 json 响应

mysql - MySQL Polygon 数据类型是否比将多边形存储为 JSON 对象(文本)更好?

javascript - 从 Bootstrap 选项卡捕获 'shown' 事件

javascript - D3js 中的时间格式

javascript - 在不更改自定义 css 和效果的情况下使导航栏响应

json - 正则表达式:是否可以在捕获组内进行替换?

JAVA Jackson 解析包含列表/数组的 JSON 响应

java - Servlet 和错误条件