Angular 2'de json verilerini Typescript arayüz nesnelerine dönüştür


Böyle yapılandırılmış JSON verim var:

{
  "timestamp": 1467471622,
  "base": "USD",
  "rates": {
    "AED": 3.673027,
    "AFN": 68.475,
    "ALL": 123.095199,
    "AMD": 476.8075,
    "ANG": 1.78385,
    "AOA": 165.846832,
    "ARS": 15.05143,
    "AUD": 1.333463,
    "AWG": 1.793333,
    "AZN": 1.553975,
    "BAM": 1.757679,
    "BBD": 2,
    "BDT": 78.33184,
    "BGN": 1.756683,
    "BHD": 0.377337,
    "BIF": 1660.642515,
    "BMD": 1,
    "BND": 1.344589,

Bunu TypeScript'te bu şekilde birden fazla nesneye nasıl eşleyebilirim:

export interface Stock {
  name: string;
  value: number;
}

Teşekkürler

Cevap #1

let keys = Object.keys(data.rates);
let mapped: Stock[] = keys.map(key => {
    return { name:key, value: data.rates[key] } as Stock
});

console.log(mapped);

https://jsfiddle.net/qfo43o24

Cevap #2

Manuel olarak eşleştirmenize gerek yok. Typescript kodunuz şöyle olabilir:

export interface Stock{
  timestamp : Number,
  base : String,
  rates : Rates
}

export class Rates{
  AED : Number,
 ..... so on