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

Ann*_*nna 6 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)

});
Run Code Online (Sandbox Code Playgroud)

所以this.processListe包含一个JSON对象,我的JSON格式是这样的:

{"Person": {
   "id": "A256",
   "name": "GET",
   "status": "active",
   "description": "hardworking, openminded",
   ...
Run Code Online (Sandbox Code Playgroud)

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

gia*_*isf 6

解析它并访问字段。

var obj = JSON.parse(filter);
obj.Person.id; 
//etc
Run Code Online (Sandbox Code Playgroud)

  • 我确实像你提到的那样改变了我的函数,但我遇到了这个错误:angular2.dev.js:1206 Uncaught SyntaxError: Unexpected token o in JSON at position 1,这就是我所做的: subscribe( res=> { this. processListe = res; this.obj = JSON.parse(res); console.log("++++ value is :++++++++" + this.obj.id); } (2认同)

Alo*_*Jha 6

你在寻找这样的东西:

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

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