访问JSON对象的属性

时间:2019-03-17 20:12:01

标签: node.js angular

我试图在Angular 6中访问一个名为date的JSON对象的属性。我为其分配了变量,但它看起来像是未定义的。

这是我的代码:

getHistorial(dateB:string, dateA:string){

     this._HistorialService.query(dateB, dateA).subscribe(response=>{debugger
        if(response.Historial){

            var test =response.Historial.fecha
            console.log(test);
        }
        error=>{
          console.log(<any>error);
        }
    });
  }

我正在尝试:

var test = response.Historial.map(fecha);
var test = response.Historial.pipe(map(fecha));

我正在使用Angular 6和Node上的API。

这是包含整个响应的json

Historial: Array(7)
0: {_id: "5c8d7ede252e5631b030a59c", nombre: "urea", cantidad: 5, unidadMedida: "Unds", fecha: "201903161755", …}
1: {_id: "5c8d7eea252e5631b030a59d", nombre: "urea", cantidad: 58, unidadMedida: "Unds", fecha: "201903161755", …}
2: {_id: "5c8d8088252e5631b030a5a0", nombre: "urea", cantidad: 5, unidadMedida: "Kgs", fecha: "201903161802", …}
3: {_id: "5c8d8091252e5631b030a5a1", nombre: "urea", cantidad: 51, unidadMedida: "Kgs", fecha: "201903161802", …}
4: {_id: "5c8d85ef252e5631b030a5a2", nombre: "urea", cantidad: 7, unidadMedida: "Kgs", fecha: "201903161825", …}
5: {_id: "5c8df263252e5631b030a5a4", nombre: "sulfato de amonio", cantidad: 8, unidadMedida: "Kgs", fecha: "201903170208", …}
6: {_id: "5c8ea35832c85438bcecd7ed", nombre: "urea", cantidad: 2, unidadMedida: "Kgs", fecha: "201903171443", …}

1 个答案:

答案 0 :(得分:0)

您尝试执行的操作将无法正常工作,因为响应已不再可见。为了使用任何运算符,您需要在订阅之前应用它。另一个选择可能是,使用Observable.from(response)...其余所有运算符并再次订阅

我在这里创建了一个小型堆叠闪电战:https://stackblitz.com/edit/rxjs-j4sonn?embed=1&file=index.ts

您可以执行以下操作来获取“ fecha's”列表,例如:

getHistorial(dateB:string, dateA:string){

 this._HistorialService.query(dateB, dateA)
 .pipe(map(results => results.fecha))
 .subscribe(fecha =>{
    if(fecha){
        console.log(fecha);
    }
    error=>{
      console.log(<any>error);
    }
});

}