web-dev-qa-db-fra.com

Accéder directement aux propriétés d'un objet JSON et le consigner

J'essaie d'accéder aux propriétés d'objet JSON directement et de le consigner, voici ma fonction:

loadProcesses(filter?){

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

});

Donc, this.processListe contient un objet JSON, et mon format JSON ressemble à ceci:

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

Donc, il contient exactement les mêmes choses, par exemple si je veux simplement imprimer l'étiquette sur un journal de la console, comment puis-je le faire?

5
Anna

Cherchez-vous quelque chose comme ça:

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

il suffit d'appeler parseObject (res) dans la méthode subscribe.

5
Alok Jha

analyser et accéder aux champs.

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

analyser dans le .subscribe:

res => this.processListe = res.json();
0
Jarod Moser

une meilleure solution consiste à déclarer votre réponse avec:

loadProcesses(filter?){

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

});

de cette façon, vous pouvez accéder à n'importe quelle attirbute dans votre réponse

0
Brahim LAMJAGUAR