2016-07-01 37 views
3

我試圖直接訪問JSON對象的屬性和記錄它,這是我的功能:訪問JSON對象的屬性直接登錄其

loadProcesses(filter?){ 

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

}); 

所以this.processListe包含一個JSON對象,我的JSON格式是這樣的:

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

因此,這將包含完全相同的東西,例如,如果我想簡單地打印在控制檯日誌我怎麼能做到這一點的標籤?

回答

2

您正在尋找這樣的事情:在

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

只需要調用的parseObject(RES)訂閱方法。

+0

謝謝你,它確實只顯示第一個Propretie它是一個包含它下面它自己propertie的對象,我怎麼可以訪問thos情況下的子屬性? – Anna

+0

編輯我的答案以支持嵌套json –

+0

非常感謝你,我會根據自己的需要對它進行改進再次感謝你 – Anna

1

解析它並訪問字段。

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

我沒有改變我的功能,如你所說,我有這個錯誤:angular2.dev.js:1206未捕獲的SyntaxError:意外的標記?在JSON在位置1,這是我做了什麼: 訂閱( (this.processListe = res; this.obj = JSON.parse(res); console.log(「++++ value is:++++++++」+ this.obj。 id); } – Anna

+0

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

0

解析它在.subscribe:

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

謝謝你的回答, 我有這個錯誤:angular2.dev.js:1206 Uncaught TypeError:res.json is不是功能 這是我的新功能: 。訂閱( res => {this.processListe = res.json(); console.log(「++++ value is:++++++++」+ this.processListe.id); } – Anna