0
votes

Comment obtenir des données de la valeur de la paire de clés dynamique en angulaire

voici mon problème, je ne peux pas obtenir la valeur de la paire de clés dynamique de la Dynamic JSON Ci-dessous mon JSON

Object.keys(d).forEach(function(key){
    var value = d[key];
     console.log(key + ':' + value) ;
});


0 commentaires

4 Réponses :


1
votes

C'est à cause du + code> avant la valeur code> code>, qui tentera de concaténer la valeur et que vous verrez [objet d'objet]

p>

var d = {
  "pexels-photo.jpeg": {
    "information": "laptop",
    "desc": {
      "mimetype": "image/jpeg",
      "id": "shsj44",
      "file_id": "pexels-photo.jpeg"
    },
    "_id": "shsj44"
  }
}


Object.keys(d).forEach(function(key) {
  let value = d[key];
  console.log(key + ' : ', value);
  console.log(key + ' : ', value.desc.id);
});


2 commentaires

Comment puis-je obtenir les valeurs "_id" et "file_id"?


ok supposons que si nous ne savons pas si nous allons le nom "Desc" ou tout autre nom peut être là




1
votes

Vous devez vérifier si la valeur est objet ou non, si oui, vous devez en faire la boucle à nouveau.

Le code suivant imprimera chaque paire de valeur de clé dans d p >

export class AppComponent implements OnInit {
  d = {
    'pexels-photo.jpeg': {
      'information': 'laptop',
      'desc': {
        'mimetype': 'image/jpeg',
        'id': 'shsj44',
        'file_id': 'pexels-photo.jpeg'
      },
      '_id': 'shsj44'
    }
  };

  ngOnInit(): void {
    this.calc(this.d);
  }

  calc(val) {
    Object.keys(val).forEach(key => {
      const value = val[key];
      if (typeof (value) === 'object') {
        this.calc(value);
      } else {
        console.log(key + ':' + value);
      }
    });
  }

}


0 commentaires

1
votes

Essayez ceci: strong>

p>

var d = {
      "pexels-photo.jpeg": {
        "information": "laptop",
        "desc": {
          "mimetype": "image/jpeg",
          "id": "shsj44",
          "file_id": "pexels-photo.jpeg"
        },
        "_id": "shsj44"
      }
    };
    
Object.keys(d).filter(key => {
    	Object.keys(d[key]).filter(item => {
        if (item === 'desc') {
        	Object.keys(d[key][item]).filter(elem => {
            if ((elem === 'id') || (elem === 'file_id')) {
              console.log(elem + ' : ' + d[key][item][elem]);
            }
          });
        }
      })
});


0 commentaires