Wie kann ich das Ergebnis einer HTTP-Anfrage aus dem JSON-Format in ein Objekt in TypeScript speichern?So speichern Sie abgerufene JSON als Objekt?
Hier ist mein Code:
Komponente:
import { Component } from '@angular/core';
import { DateTimeService } from './datetime.service';
import { DateTime } from './datetime'
@Component({
selector: 'my-app',
moduleId: module.id,
templateUrl: 'app.component.html',
providers: [DateTimeService]
})
export class AppComponent {
constructor(private _dateTimeService: DateTimeService){ }
dateTime: DateTime = new DateTime();
getDateTime() {
this._dateTimeService.getDateTime().subscribe(data => this.dateTime = data,
error => alert("error"),
() => alert("done"));
debugger;
alert(this.dateTime.date);
alert(this.dateTime.milliseconds_since_epoch);
alert(this.dateTime.time);
}
}
Service:
import { Http } from '@angular/http';
import {Injectable} from'@angular/core';
import 'rxjs/add/operator/map'
import { DateTime } from './datetime'
@Injectable()
export class DateTimeService{
constructor(private _http: Http) { }
getDateTime() {
return this._http.get('http://date.jsontest.com').map(res => <DateTime>res.json());
}
}
Alle Objekte von DateTime
Objekt nicht definiert sind, wenn ich diesen Code ausführen. Wenn ich jedoch die eingehenden Daten nicht in den Typ DateTime
in meinem Dienst umwandle und JSON.stringify(data.time)
(zum Beispiel) verwende, kann ich nur eine einzige Eigenschaft erhalten.
Ihre Warnung innerhalb der Funktion ist es scheint, als ob nicht Sie abonnieren. – Dylan