1
votes

Filtrer les données Json et les transformer en une variable

Je ne suis pas très doué avec le filtre ou la carte ou la transformation des données JSON que j'ai récupérées sur le serveur et je recherche quelqu'un pour me guider dans cette fonction que j'ai essayée qui récupère avec succès les données JSON. Cependant, je cherche un moyen de récupérer simplement l ' id de chaque clé et de transformer l' id en une variable qui peut être utilisée dans une autre fonction lors d'un POST ou PUT fonction dans le même TypeScript. Merci d'avance.

(2) [{…}, {…}]
0: {id: 3, type: "task", contact_id: 391, contact_details: {…}, created_by: {…}, …}
1: {id: 1, type: "task", contact_id: 390, contact_details: {…}, created_by: {…}, …}

Données JSON

  getActivities() {
    var service = this;
    let url = service.appConfig.Shop_URL + "/wp-json/erp/v1/crm/activities?type=task";
    url = this.initUrl(url, '');
    var headers = new Headers();
    headers.append('Authorization', 'Bearer ' + service.userService.token);
    headers.append('Content-Type', 'application/json');
    return new Promise(function (resolve, reject) {
      service.http.get(url, { headers: headers }).pipe(map(res => res.json())).subscribe(data => {
        if (data) {
          service.cachedData = data;
          console.log(data);
          resolve(service.cachedData);
        }
        else {
          reject();
        }
      });

    });
  }


1 commentaires

pas lié, mais pourquoi enveloppez-vous cela dans une promesse? Les observables rxjs sont puissants et ont tellement d'opérateurs différents.


3 Réponses :


0
votes

Vous devez utiliser Array.map

var result1 = [
    {id:1, name:'Sandra', type:'user', username:'sandra'},
    {id:2, name:'John', type:'admin', username:'johnny2'},
    {id:3, name:'Peter', type:'user', username:'pete'},
    {id:4, name:'Bobby', type:'user', username:'be_bob'}];
    
 
var data = result1.map(t=>t.id);
console.log(data);

DEMO

this.ids = data.map(x => x.id);


0 commentaires

0
votes

Je pense que la manière de récupérer l'id serait

json_variable_name[index].get("id")    

Comme il s'agit d'un dictionnaire, nous utilisons la méthode get. J'espère que cela vous aidera.


0 commentaires

1
votes

La fonction map est utilisée pour mapper chaque élément du tableau et retourne et crée un nouveau tableau dans la variable id. La fonction map n'est utilisée que dans le tableau

var data= [{id:12,name:"kiran"},{id:21,name:"hey"}];
var id=data.map((element,i)=>(element.id));


0 commentaires