从JSON.parse对象创建类型的对象结构

时间:2017-11-10 10:20:22

标签: json typescript type-conversion

我正在使用JSON.parse函数获取JSON对象。我面临将对象转换为Data对象的问题。这就是声明Data的方式(它被简化并省略了方法):

export class Data {
    private static _instance: AppData;
    private projects?: Project[] = Array();
    constructor() {
    }

    public static get Instance() {
       //create singleton
    }
}
export class Project {
    projectID: string;
    projectNumber: number;
    projectName: string;
    dateCreated: number;
    thumbnail: string;
    details?: Detail[] = [];


}
export class Detail {
    detailID:string;
    detailName: string;
    detailNumber:number;
    dateCreated:number;
    textElements?: Text[];

}


export class Text {
    text: string;
    textSize: number;
    transform: Transform[];
    transiton: Transiton[];
}

export class Transiton{
    name:string;
}
export class Transform{
    name:string;
}

愚蠢的我,试图用as对整个对象进行类型转换。然后我尝试编写构造函数,但由于每个Data对象都有一个Project对象数组,每个项目都有一个Detail对象数组,每个项目都有一个数组{ {1}}对象等。

有没有更好的方法来实现这一目标,而不仅仅是创建大量的嵌套循环?

0 个答案:

没有答案