Html 角度,使用服务在阵列中显示阵列

Html 角度,使用服务在阵列中显示阵列,html,arrays,angular,typescript,Html,Arrays,Angular,Typescript,我从ws获取所有数据json,如下所示: { "StatusCode":0, "StatusMessage":"OK", "StatusDescription": [ {"homeboxpackage_id":"1", "active":0, "homebox_id":"11", "serial_number":"serialn1", "user_id":"31", "senso

我从ws获取所有数据json,如下所示:

{
  "StatusCode":0,
  "StatusMessage":"OK",
  "StatusDescription":   
   [
      {"homeboxpackage_id":"1",
        "active":0,
        "homebox_id":"11",
        "serial_number":"serialn1",
        "user_id":"31", 
        "sensors": { 
              "0":{
                    "sensor_serial":"sensorserial1",
                    "sensors_id":"11E805BA6732C3DB"
              }, 
              "1":{
                    "sensor_serial":"sensorserial2", 
                    "sensors_id":"11E805BA6F1E6CE9"
              }, 
              "2":{
                    "sensor_serial":"sensorserial3", 
                    "sensors_id":"11E805BA7716C775"
              }
        }
    }
  ]
在html代码中,我想在列表中显示数据传感器,但不显示。我的html代码:

  <table class="bordered table-bordered" [mfData]="homeboxsp | dataFilter : filterQuery" #mf="mfDataTable" [mfRowsOnPage]="rowsOnPage"
    [(mfSortBy)]="sortBy" [(mfSortOrder)]="sortOrder">
    <thead>
      <tr>
        <th>
          <mfDefaultSorter by="serial_number">Serial Number</mfDefaultSorter>
        </th>
        <th>
          <mfDefaultSorter by="sensors">Sensor Serial</mfDefaultSorter>
        </th>
      </tr>
    </thead>
    <tbody>
      <tr *ngFor="let item of homeboxsp">
        <td>{{item.serial_number}}</td>
        <ul>
          <li>{{item.sensors}}</li>
        </ul>
        <td>{{item.active}}</td>
     </tr>
    </tbody>
   </table>


谢谢

您需要另一个
ngFor
来循环传感器对象

<tr *ngFor="let item of homeboxsp">
        <td>{{item.serial_number}}</td>
        <ng-container *ngFor= "let sensor of item.sensors">
        <ul>
          <li>{{sensor.sensors_id}}</li>
        </ul>
        <td>{{item.active}}</td>
</tr>

{{item.serial_number}
  • {{sensor.sensors_id}
{{item.active}
为了使用实际的响应主体,您需要将响应解析为json。json将提取正文数据并将其返回给订阅服务器。确保首先导入rxjs库

//import { Http, Headers, RequestOptions, Response } from '@angular/http';
  //import { Observable } from 'rxjs';
  //import 'rxjs/add/operator/map';

this.ws.homeboxPGetAll().map((res:Response) => res.json()).subscribe(
  homeboxsp => {
    this.homeboxsp = homeboxsp.sensors;
       }
);

错误:找不到类型为“object”的不同支持对象“[object]”。NgFor仅支持绑定到数组之类的iTerable:(发布您的json数组{“StatusCode”:0,“StatusMessage”:“OK”,“StatusDescription”:[{“homeboxpackage_id”:“1”,“active”:0,“homeboxpackage_id”:“11”,“serial_编号”:“serialn1”,“user_id”:“31”,“sensors”:{“0”:“sensor_serial”:“sensor_Serial1”,“sensors_id”:“11E805BA67328; 3DB”;“1”,“sensor_id”:“sensor_Serial2”,“sensors_id”:“11E805BA6f16lang1024”11E6;{“sensor_serial”:“sensorserial3”,“sensors_id”:“11E805BA7716C775”}}}}}]您需要将响应更改为数组,在这个sensors中是一个对象。您对这个问题进行了排序吗?ws is this:public homeboxPGetAll():Observable{let headers=new headers();headers.append('x-access-token',this.auth.getCurrentUser().token);返回这个.http.getmap((response:response)=>{let res=response.json();if(res.StatusCode==1){this.auth.logout();}else{return res.StatusDescription.map(homeboxP=>{return new homeboxP(homeboxP);}) }); }
//import { Http, Headers, RequestOptions, Response } from '@angular/http';
  //import { Observable } from 'rxjs';
  //import 'rxjs/add/operator/map';

this.ws.homeboxPGetAll().map((res:Response) => res.json()).subscribe(
  homeboxsp => {
    this.homeboxsp = homeboxsp.sensors;
       }
);