解析JSON响应Angular 2

时间:2016-06-27 20:10:55

标签: typescript angular

有谁知道如何将JSON响应解析为这样的结构?

   [
  {
    "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"
  }
]

我使用json2ts来创建这两个结构:

  import {OrderList} from "./OrderList.ts";
import {Injectable} from  "@angular/core";

@Injectable()

export interface OrderBasket {
    iD: number;
    OrderList: OrderList[];
    owner: string;
}

import {Injectable} from  "@angular/core";

@Injectable()
export interface OrderList {
    bidPrice: number;
    iD: number;
    name: string;
    price: number;
    resteurant: string;
}

我打电话给服务器并订阅,但我无法得到这个结构。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:9)

我认为您可以尝试以下方法:

this.http.get('http://...')
  .map(res => <OrderBasket[]>res.json())
  .subscribe(data => {
    // data corresponds to a list of OrderBasket
  });

您需要了解使用TypeScript进行投射的含义:

否则,我不明白为什么在界面上使用Injectable装饰器。