Angular 2 Дата десериализации

У меня есть приложение Angular 2. Служба запрашивает данные из API, который возвращает результаты, как показано ниже:

{
    "data":[
        {"id":1,"timestamp":"2016-04-17T19:52:53.4510935+01:00","sourceDatabaseServer":"127.0.0.1","sourceDatabaseName":"Database1","targetDatabaseServer":"192.168.99.101","targetDatabaseName":"Database2"},
        {"id":2,"timestamp":"2016-04-17T19:52:53.4510935+01:00","sourceDatabaseServer":"127.0.0.2","sourceDatabaseName":"Database3","targetDatabaseServer":"192.168.99.102","targetDatabaseName":"Database4"},
        {"id":3,"timestamp":"2016-04-17T19:52:53.4510935+01:00","sourceDatabaseServer":"127.0.0.3","sourceDatabaseName":"Database5","targetDatabaseServer":"192.168.99.103","targetDatabaseName":"Database6"}
    ]
}

Мой сервис Angular 2 выглядит следующим образом (я сократил обработку ошибок для краткости, поскольку мы находимся на счастливом пути здесь):

getList() : Observable<SomeModel[]> {
    return this._http.get(this._getListUrl).map(this.extractData);
}

 private extractData(res: Response) {
    return res.json().data || {};
}

и мой компонент, как это:

results: SomeModel[];
errorMessage: string;
ngOnInit() {
    this._someService.getList()
        .subscribe(
        results => this.results = results, 
        error => this.errorMessage = <any>error);
}

и моя модель вот так:

export class SomeModel {

    constructor(
        public id: number,
        public timestamp: Date,
        public sourceDatabaseServer: string,
        public sourceDatabaseName: string,
        public targetDatabaseServer: string,
        public targetDatabaseName: string
    ) { }
}

Все выглядело так, как будто оно работало, но когда я пытался отобразить метку времени, используя DatePipe, вот так{{item.timestamp | date:'short'}} приложение взрывается со следующим сообщением об ошибке:

Invalid argument '2016-04-17T19:40:38.2424240+01:00' for pipe 'DatePipe' in [{{result.timestamp | date:'short'}}

После некоторого расследования я считаю, что метка времени фактически не преобразуется вDate типа, но вместо этого просто устанавливаетсяstring, Я предполагаю, что это потому, чтоDate тип не известен в то времяResponse.json() называется? или я что-то упускаю совсем? Есть ли исправить или обойти это?

Ответы на вопрос(4)

Ваш ответ на вопрос