类定义:
export class PersonalInformation {public name: string;public age: number;public nationality: string;public gender: string;public height: number;public constructor(name: string, age: number, nationality: string, gender: string, height: number) {this.name = name;this.age = age;this.nationality = nationality;this.gender = gender;this.height = height;}
}
1、Class转JsonString
使用JSON.stringify
private personalInformation: PersonalInformation;private personalInformations: PersonalInformation[] = [];start() {this.class2json();}private class2json(){this.personalInformation = new PersonalInformation("张三", 20, "中国", "男", 170);this.personalInformations.push(new PersonalInformation("张三", 20, "中国", "男", 170),new PersonalInformation("李四", 22, "中国", "男", 178),new PersonalInformation("李丽", 22, "中国", "女", 162));console.log(JSON.stringify(this.personalInformation));console.log(JSON.stringify(this.personalInformations));}
结果:
{"name":"张三","age":20,"nationality":"中国","gender":"男","height":170}[{"name":"张三","age":20,"nationality":"中国","gender":"男","height":170},{"name":"李四","age":22,"nationality":"中国","gender":"男","height":178},{"name":"李丽","age":22,"nationality":"中国","gender":"女","height":162}]
2、JsonString转Class
2.1 class
protected start(): void {this.json2class();}private json2class(){let result = JSON.parse(this.personalInformation) as PersonalInformation;console.log(result.name);console.log(result.age);console.log(result.nationality);console.log(result.gender);console.log(result.age);}
结果:
2.2 array
private personalInformations: string = "[{\"name\":\"张三\",\"age\":20,\"nationality\":\"中国\",\"gender\":\"男\",\"height\":170},{\"name\":\"李四\",\"age\":22,\"nationality\":\"中国\",\"gender\":\"男\",\"height\":178},{\"name\":\"李丽\",\"age\":22,\"nationality\":\"中国\",\"gender\":\"女\",\"height\":162}]";protected start(): void {this.json2class();}private json2class() {let result = JSON.parse(this.personalInformations) as PersonalInformation[];let inf = "";for (let i = 0; i < result.length; i++) {inf = `个人信息 ${i + 1}: \n name: ${result[i].name}; age: ${result[i].age}; nationality: ${result[i].nationality}; gender: ${result[i].gender}; height: ${result[i].height}; `console.log(inf);}}
结果: