Я использую Json2Typescript для сериализации и сериализации объекта машинописного текста. Проблема в том, что я не могу десериализовать JSON Данные, которые я получаю от своего внутреннего сервера.
Это мой класс машинописного текста:
@JsonObject('Respondent')
export class Respondent {
@JsonProperty('id',Number)
Id:number;
video:string;
@JsonProperty('synchro_id',Number)
SynchroId:string;
@JsonProperty('language',String)
Language:string;
@JsonProperty('project_id',Number)
ProjectId:number;
@JsonProperty('terminal_id',Number)
TerminalId:number;
@JsonProperty('questionnaire_id',Number)
QuestionnaireId: number;
@JsonProperty('device_type_id',Number)
DeviceTypeId:string;
// TODO: This is to be removed
medias: Media[] = null;
// TODO: This is to be removed
clicks: Click[] = null;
@JsonProperty('email_status',String)
emailStatus:string;
@JsonProperty('inserted_local_time',String)
insertedTime:string;
@JsonProperty('responses',[Answer])
Answers:Answer[];// TSMap<number,Answer>; // {[key: number]: Answer[]} = {};
@JsonProperty('size_on_disk',Number)
sizeOnDisk:number;
@JsonProperty('email_opened',Boolean)
emailOpened:boolean;
@JsonProperty('token',String)
token:string;
constructor() {
}
...
}
Вот как я десериализую мой JSON.
private getRespondents(start:number,end:number) {
this._projectService.getRespondentsByRange(start,end,-1,-1,-1,this.questionnaire.id,-1,false).subscribe((respondents) => {
this.respondents = new Array<Respondent>();
this.respondents = new JsonConvert().deserializeArray(respondents,Respondent); // doe s not work
if(this.respondents!=null && this.respondents.length>0) {
this._sizeOnDisk = this.respondents[0].sizeOnDisk * this._nbOfRespondents;
}
},
error => this._errorMessage = <any>error);
}