Ich stieß auf ein ähnliches Bedürfnis. Ich wollte etwas, das mir eine einfache Transformation von/zu JSON ermöglicht, das von einem REST-API-Aufruf zu/von einer spezifischen Klassendefinition kommt. Die Lösungen, die ich gefunden habe, waren unzureichend oder bedeuteten, meinen Klassencode umzuschreiben und Annotationen oder Ähnliches hinzuzufügen.
Ich wollte etwas Ähnliches wie GSON in Java verwenden, um Klassen zu JSON-Objekten zu serialisieren/deserialisieren.
In Kombination mit einem späteren Bedarf, dass der Konverter auch in JS funktionieren sollte, habe ich beschlossen, mein eigenes Paket zu erstellen.
Es hat jedoch ein wenig Overhead. Aber wenn es erst einmal gestartet ist, ist es sehr praktisch beim Hinzufügen und Bearbeiten.
Sie initialisieren das Modul mit:
- Konvertschema - ermöglicht das Zuordnen von Feldern und Bestimmen, wie die Konvertierung durchgeführt wird
- Klassenmap-Array
- Konvertierungsfunktionskarte - für spezielle Konvertierungen
Dann verwenden Sie in Ihrem Code das initialisierte Modul wie folgt:
const convertedNewClassesArray: MyClass[] = this.converter.convert(jsonObjArray, 'MyClass');
const convertedNewClass: MyClass = this.converter.convertOneObject(jsonObj, 'MyClass');
oder, zu JSON:
const jsonObject = this.converter.convertToJson(myClassInstance);
Verwenden Sie diesen Link zum npm-Paket und auch eine detaillierte Erklärung, wie Sie mit dem Modul arbeiten können: json-class-converter
Ich habe es auch für die Verwendung in Angular eingewickelt: angular-json-class-converter