Es gibt viele Methoden, um aus einer json-Antwort eine typescrpt-Klasse zu machen.Warum eine explizite Serialisierung von Json-Objekten?
in vielen Projekten habe ich es wie folgt aus:
export class Group
{
constructor(
public Id?: number,
public Name?: string,
public Users?: User[],
public Role?: Role,
public Customers: Customer[] = new Array())
{
}
}
Der Hauptvorteil ist, dass es einfach und sauber ist, aber es gibt keine Software, die automatisch eine C# -Klasse zu dieser umwandeln kann.
Dann habe ich gegraben und gefunden https://github.com/NSwag/NSwag/wiki/NSwagStudio dies kann C# Modelle Klassen in Typoskript konvertieren.
F: Warum sollte ich jeden JSON wie diesen Language.fromJS(requestJson)
serialisieren?
Ich kann kein Risiko sehen, mit meiner alten Methode in Zukunft zu gehen.
export class Language {
id: number;
flag?: string | null;
init(data?: any) {
if (data) {
this.id = data["Id"] !== undefined ? data["Id"] : <any>null;
this.flag = data["Flag"] !== undefined ? data["Flag"] : <any>null;
}
}
static fromJS(data: any): Language {
let result = new Language();
result.init(data);
return result;
}
toJSON(data?: any) {
data = typeof data === 'object' ? data : {};
data["Id"] = this.id !== undefined ? this.id : <any>null;
data["Flag"] = this.flag !== undefined ? this.flag : <any>null;
return data;
}
}
nicht korrekt, ich muss nicht die Eigenschaften bereitstellen, die automatisch passiert – user3387996
Wie geschieht das automatisch? Wie erstellen Sie eine Instanz mit Ihrer ersten Option? – Saravana
oh warte, du hast recht ich erschaffe keine Instanz im fake casting it response.json(), ty –
user3387996