2016-07-01 10 views
3

Ich versuche Eigenschaften JSON-Objekt direkt zuzugreifen und es sich einzuloggen, hier ist meine Funktion:Zugriff auf JSON-Objekteigenschaften direkt und melden Sie es

loadProcesses(filter?){ 

this._postService.getAllProcess(filter) 
.subscribe(
    res=> { 
     this.processListe = res; 
     // console.log(this.processListe.) 
    } 
,null, 
() =>{ 
    console.log("get processes liste" + filter) 

}); 

So this.processListe ein JSON-Objekt enthalten, und meine JSON-Format ist wie folgt:

{"Person": { 
    "id": "A256", 
    "name": "GET", 
    "status": "active", 
    "description": "hardworking, openminded", 
    ... 

So wird es enthält genau die gleichen Dinge, zum Beispiel, wenn ich möchte einfach das Etikett auf einem Konsolenprotokoll ausdrucken, wie ich es tun kann ??

Antwort

2

Suchen Sie etwas wie folgt aus:

function parseObject(obj) 
 
{ 
 
    for(var key in obj) 
 
    { 
 
     console.log("key: " + key + ", value: " + obj[key]) 
 
     if(obj[key] instanceof Object) 
 
     { 
 
     parseObject(obj[key]); 
 
     } 
 
    } 
 
}

nur parseObject (res) rufen in der Abo-Methode.

+0

danke Mann, es zeigte sich nur die erste Propretie es ist ein Objekt, das darunter enthält es eigene Eigenschaften ,, wie kann ich die Untereigenschaften in thos Fall bitte zugreifen ?? – Anna

+0

Bearbeitete meine Antwort zu unterstützen verschachtelte JSON –

+0

Vielen Dank, ich werde es zu meinen Bedürfnissen reformieren Danke nochmal – Anna

1

analysieren Sie es und greifen Sie auf die Felder zu.

var obj = JSON.parse(filter); 
obj.Person.id; 
//etc 
+1

ich habe meine Funktion ändern, wie Sie erwähnt haben, und ich bin diesen Fehler mit: angular2.dev.js: 1206 Uncaught Syntaxerror: unerwartete Zeichen o in JSON an Position 1, das ist, was ich tat: abonnieren ( res => { this.processListe = res; this.obj = JSON.parse (Auflösung); console.log ("++++ Wert ist: ++++++++" + this.obj. ID); } – Anna

+0

UP ............. – Anna

0

Parse es in der .subscribe:

res => this.processListe = res.json(); 
+0

danke für die Antwort, Ich habe diesen Fehler: angular2.dev.js: 1206 Uncaught TypeError: res.json ist keine Funktion und das ist meine neue Funktion: .subscribe ( res => { this.processListe = res.json(); console.log ("++++ Wert ist: ++++++++" + this.processListe.id); } – Anna

Verwandte Themen