直接访问JSON对象属性并记录它

时间:2016-07-01 14:37:00

标签: json typescript angular

我正在尝试直接访问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",
   ...

所以它将包含完全相同的东西,例如,如果我只想在控制台日志上打印标签,我该怎么办?

4 个答案:

答案 0 :(得分:6)

你在寻找这样的东西:



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




只需在subscribe方法中调用parseObject(res)。

答案 1 :(得分:2)

解析它并访问字段。

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

答案 2 :(得分:0)

在.subscribe中解析它:

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

答案 3 :(得分:0)

更好的解决方案是使用任何方式声明您的回复:

loadProcesses(filter?){

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

});

这样您就可以访问回复中的任何地址