如何使用Angular模型解析具有通用名称的JSON对象?

时间:2019-05-15 21:47:56

标签: json typescript

我正在为Angular项目创建一个模型,以解析服务的一些JSON数据。

JSON文件返回如下信息:

[
    {
        "bronze": [
            {
                "name": "Pontua\u00e7\u00e3o",
                "now": "7.000",
                "enabling": "1.800",
                "icon": "score",
                "status": 1
            },
            {
                "name": "Cancelamento",
                "now": "2.5%",
                "enabling": "5.0%",
                "icon": "cancellation",
                "status": 1
            }
        ]
    },
    {
        "silver": [
            {
                "name": "Pontua\u00e7\u00e3o",
                "now": "7.000",
                "enabling": "4.000",
                "icon": "score",
                "status": 1
            },
            {
                "name": "Cancelamento",
                "now": "2.5%",
                "enabling": "5.0%",
                "icon": "cancellation",
                "status": 1
            },
            {
                "name": "Assinatura Digital",
                "now": "79.5%",
                "enabling": "5.0%",
                "icon": "cancellation",
                "status": 1
            }
        ]
    }
]

我想告诉Angular对象的名称无关紧要,就像这样:

export interface Checklist {
   anyObject: ChecklistItems[];
}

export interface ChecklistItems {
    name:     string;
    now:      string;
    enabling: string;
    icon:     string;
    status:   number;
}

有可能吗?

1 个答案:

答案 0 :(得分:0)

这实际上是一个打字稿问题,答案是使用索引签名:

interface Checklist {
  [key: string]: ChecklistItems[];
} 

通过这种方式-您可以将任何键作为具有指定值的字符串作为字符串。