声明 json 对象的正确方法(打字稿)

Proper way to declare json object (typescript)

我有以下 json 文件和数据:

[{
    "sectionKey": "key1",
    "sectionName": "name",
    "content": []
  },
  {
    "sectionKey": "key2",
    "sectionName": "name",
    "content": []
  }
]

我的问题是:如何在typescript中声明数组的内容?像“类型”[]。 请不要建议使用 any[],因为它会删除 TypeScript 提供的所有类型检查。

interface CoolObject {
  sectionKey: string;
  sectionName: string;
  content: Array<any>;
}

const greatArray: CoolObject[] = [
  {
    sectionKey: 'key1',
    sectionName: 'name',
    content: [],
  },
  {
    sectionKey: 'key2',
    sectionName: 'name',
    content: [],
    foobar: 'something' // not assignable to type 'CoolObject'
  },
];

如果您要输入的是 'content' 属性,您也可以使用 Array<YourType>YourType[]