2016-07-01 36 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