2016-04-06 3 views
19

Ich habe die Dokumentation zu Angular2 begonnen, um meine eigene App auf den Weg zu bringen. Es ist mir gelungen, JSON-Objekte aus einer lokalen Datei abzurufen und in angular2 templates anzuzeigen. Derzeit basiert es jedoch auf den Winkelklassen, die exakt mit der Struktur der Objekte in meiner JSON-Datei übereinstimmen.Angular 2 Analysieren von JSON-Objekten in Winkelklassen

Schließlich brauche ich meine App mit JSON-LD arbeiten, die Eigenschaftsnamen wie "@id" hat. Ich habe gegoogelt und es scheint, dass RxJS die Funktionalität hat, nach der ich suche, aber ich bin mir nicht sicher, wo ich anfangen soll, die automatische Bindung von einigen JSON-Daten direkt in meine angular2-Klassen zu unterbrechen und stattdessen in der Lage zu sein up etwas, das als „@id“ im json und setzen Sie den Wert von SomeClass.id

Aktuelle Code, der automatisch eine Reihe von einer Person-Klasse produziert gekennzeichnet ist:

getPeople(){ 
    return this._http.get(this._peopleUrl) 
     .map(response => <Person[]> response.json().data) 
     .do(data => console.log(data)) //debug to console 
     .catch(this.handleError); 
} 

Fine for JSON wie folgt aus:

[ 
{ 
    "id":"1", 
    "name":"tessa" 
}, 
{ 
    "id":"2", 
    "name":"jacob" 
} 
] 

Aber es würde offensichtlich fehlschlagen für JSON wie folgt aus:

[ 
{ 
    "@id":"1", 
    "name":"tessa" 
}, 
{ 
    "@id":"2", 
    "name":"jacob" 
} 
] 

Meine Klasse einfach ist (im Moment :-))

export class Person { 
    constructor(
    public id:number, 
    public name:string, 
){} 
} 

Kann mich in die richtige Richtung jemand für einige Dokumentation/Beispiele für Mapping-Komplex/tricky json Punkt zu den Klassen in angular2?

Antwort