typescript - Eine JSON-Antwort in Angular 2 analysieren
Weiß jemand, wie ich eine JSON-Antwort in eine Struktur wie diese parsen kann?
[
{
"iD": 2,
"OrderList": [
{
"bidPrice": 0,
"iD": 0,
"name": "Name",
"price": 10,
"resteurant": "Restaurant"
},
{
"bidPrice": 0,
"iD": 0,
"name": "Something",
"price": 20,
"resteurant": "La Place"
}
],
"owner": "Tom"
}
]
Ich habe json2ts verwendet, um diese beiden Strukturen zu erstellen:
import {OrderList} from "./OrderList.ts";
import {Injectable} from "@angular/core";
@Injectable()
export interface OrderBasket {
iD: number;
OrderList: OrderList[];
owner: string;
}
und
import {Injectable} from "@angular/core";
@Injectable()
export interface OrderList {
bidPrice: number;
iD: number;
name: string;
price: number;
resteurant: string;
}
Ich rufe den Server auf und abonniere, aber ich kann diese Struktur nicht erhalten. Kann mir jemand helfen?
Antwort #1
Ich denke, dass du Folgendes ausprobieren könntest:
this.http.get('http://...')
.map(res => <OrderBasket[]>res.json())
.subscribe(data => {
// data corresponds to a list of OrderBasket
});
Du musst dir der Auswirkungen von Typumwandlungen in TypeScript bewusst sein:
- Wie castet man ein JSON-Objekt in eine TypeScript-Klasse
Ansonsten verstehe ich nicht, warum du den Injectable-Dekorator auf deinen Schnittstellen verwendest.
