将内部属性的Keys提升为其自己的类型定义

时间:2020-03-09 20:13:19

标签: typescript

如果我有一些json,例如

{
   "collection1" : {
       "key1" : { "value": "", "description" },
       "key2" : { "value": "", "description" } 
   },
   "collection2" : {
       "key1" : { "value": "", "description" },
       "key2" : { "value": "", "description" } 
   }
}

每个集合将具有相同的键集。

然后我将其拉入ts文件中

type collections = typeof import('./myjson.json')

我该如何提高“ collection1”中的键,以便可以使用从导入的json类型派生的新类型?

我尝试过类似的事情:

export type KeysOfType = {
    [P in collections["collection1"]]: { value: string, description: string }
}

但是我不确定从child属性中提取键的语法。

1 个答案:

答案 0 :(得分:0)

尝试:

type KeysofType = keyof collections["collection1"]