Может ли кто-нибудь предложить, как мы можем создать класс Javascript, содержащий конструктор, геттеры и сеттеры из полей схемы JSON без каких-либо инструментов.
Пример: у меня есть приведенная ниже схема данных
"data": {
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 256,
"title": "Name"
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 256,
"title": "Description"
}
}
}
Я хочу создать приведенную ниже модель
'use strict';
let name;
let description;
var _testSample;
class SampleModel {
constructor() {
_testSample = {
data: {
'name': name,
'description': description
}
};
}
setName(name) {
_testSample.data.name = name;
}
setDescription(description) {
_testSample.data.description = description;
}
}
module.exports = SampleModel;
Не могли бы вы предложить, есть ли какой-либо механизм API/шаблона, который может генерировать такие классы из схемы JSON?
Может ли кто-нибудь предложить, как мы можем создать класс Javascript, содержащий конструктор, геттеры и сеттеры из полей схемы JSON без каких-либо инструментов.
Я пробовал пару apis, таких как: json-schema-defaults, клиент swagger codegen и т. д., но мне не удалось его сгенерировать/достичь.
не могли бы вы предоставить некоторые предложения.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если вы используете nodejs, просто напишите скрипт, чтобы преобразовать его в нужную строку.
import * as jsonClasses from "./my-json-classes-file";
import * as fs from "fs";
// add each line one at a time
let lines = ["use-string"];
for (let propname in jsonClasses) {
lines.push(`let %{propname};`);
}
out.push("class MyClass");
... just keep doing this
// join the lines together
const rawFile = lines.join("\n");
// write it to a file
fs.writeFileSync("MyFileName.js", rawFile);
Затем, как правило, будет способ убедиться, что этот скрипт работает, прежде чем вы запустите/скомпилируете/построите свой проект. Или, может быть, вам придется запустить его вручную.
Дело в том, что базовый узел очень хорошо умеет принимать json и генерировать текстовый файл.
Да, мы можем сгенерировать модель из JSON/схемы с помощью следующего API:
Вышеупомянутый API генерирует его на C#, но мы можем настроить шаблон в соответствии с вашими требованиями.
Он использует механизм шаблонов Python Jinja.
Обратите внимание: спрашивать об инструментах, библиотеках или других сторонних инструментах здесь не по теме.