尝试在Angular 6中将对象Object用作数组

时间:2018-08-07 12:58:21

标签: angular object-object-mapping

以下是我的问题的背景

我正在Angular 6中编写一个应用程序,该应用程序应该从我的localhost:5000端口读取数据以获取JSON数据并将其显示在Angular应用程序中。 angular应用程序可以完美地从本地主机获取数据,除非收集数据时整个数据都是“对象Object”,而且我不知道如何遍历此类型或可视化收集的数据。我知道正确收集数据的原因是正在发布数据的服务器收到200条成功消息。

以下是我的角度应用接收的数据:

{"index":1,"Company":"Google","Hire Date":"1\/4\/16","Title":"Director"
,"Location":"Bay Area, CA","Degree":"Bachelors","Year entered 
work force":1994.0,"Offer; Base":"$225,000.00 
","Bonus":null,"Latitude":37,"Longitude":-122}

这是我正在Angular中拟合数据的数据模型:

  export interface Exam {
    ID: number;
    Company: string;
    HireDate: string;
    Title: string;
    Location: string;
    Degree: string;
    yearEnteredWorkForce: string; 
    OfferCostNumber: string;
    bonus: string;
    latitude: number;
    longitude: number;
  }

这里是作为“对象对象”返回的变量

this.examsList = this.examsApi.getExams()

2 个答案:

答案 0 :(得分:2)

import { Observable, Subscription } from 'rxjs/Rx'; / *这应该添加到文件顶部* /

this.examsApi.getExams().subscribe(res => {this.examsList = res)
       /* Write code to do operation on your response object.*/
});

您将不得不使用Subscribe方法,您将获得响应对象,而不仅仅是 [object,Object]

答案 1 :(得分:0)

很难说,因为我们不知道您的服务会返回什么。 如果您以{{examsList}}的形式在HTML中记录对象,则该对象将始终显示为[object object]。
另一个问题可能是您的数据只是一个对象,而您在其他注释中写的错误消息表明您尝试将Array分配给对象。 如果您使用http客户端获取数据,则以下方法应该起作用:

// In your service
getExams(filename: string) {
   return this.http.get('url to json').pipe(map(response => response.data))
}

在您的控制器中,Trupti所做的只是