* ngForを使用してこの特定のJSONを表示するにはどうすればよいですか?JSONをAngular2で表示するには
{
"status": 0,
"dallases": [{
"vehicle_id": 17954,
"dallassettings": "3",
"dallasupdated": "False",
"dallas_list": [{
"number": 666111222,
"auth": 3
}, {
"number": 666777888,
"auth": 4
}, {
"number": 123454321,
"auth": 4
}]
}
}
vehicle.service.ts
import { Injectable } from '@angular/core';
import { Http, Headers, RequestOptions, Jsonp, Response } from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class VehicleService {
constructor(private http: Http) { }
getVehicle() {
return this.http.get('myURL')
.map(res => res.json());
}
}
vehicle.component.ts
import { Component, enableProdMode } from '@angular/core';
import { VehicleService } from './vehicle.service';
enableProdMode();
@Component({
//moduleId: module.id,
selector: 'vehicle-json',
templateUrl: './vehicle.html',
providers: [VehicleService]
})
export class VehicleComponent {
//vehicles: Vehicle[];
vehicles: GeneralVehicle[];
constructor(private vehicleService: VehicleService) {
this.vehicleService.getVehicle().subscribe(vehicle => {
this.vehicles = vehicle;
});
}
}
/*interface Vehicle {
id: number;
title: string;
body: string;
}*/
interface GeneralVehicle {
status: number;
dallases: Vehicle[];
}
interface Vehicle {
vehicle_id: number;
dallassettings: number;
dallasupdated: string;
dallas_list: DallasList[];
}
interface DallasList {
number: number;
auth: number;
}
私はダミーデータで働いていたとき、それは単にだったが、このJSON構造がありますもっと複雑です。私はパイプを使用しようとしましたが、正しく使用しているかどうかはわかりません。だ
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({ name: 'keys' })
export class VehiclePipe implements PipeTransform {
transform(value, args: string[]): any {
let keys = [];
for (let key in value) {
keys.push(key);
}
return keys;
}
}
*私は一度状態をdislay、その後、すべてのdallasesを繰り返したいと思いngFor
*ngFor="let vehicle of vehicles | keys"
(車両[])。あなたが2 ngForのをループしてい
数字/文字列でエラーを編集しました。私はyuorコードを使用しましたが、現在データを表示していますが、状況にはまだエラーがあります。'例外:未定義のプロパティ 'ステータス'を読み取ることができません。 – Haseoh
は私の答えを更新しました。今すぐ動作します:) – Alex
はい、動作しています。時間ありがとうございました:)さて、私はそれを少し良く理解しています。私はあまりにも多くのものを読んで、私はパイプやもので試しましたが、解決は簡単でした。良い一日を過ごしてください:) – Haseoh