简体   繁体   中英

Change json data to Typescript interface objects in Angular 2

I have json data that is structured like this:

{
  "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,

How can I map this to muliple objects in typescript like this:

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

Thanks

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

You donot need to map manually. Your Typescript code can be:

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM